即然String是有限的,我们可以换一个思路:
设String最大length为64k,
当StringBuffer的length<64k时,用StringBuffer.toString().
当StringBuffer的Length>64k时,将StringBuffer.length/64k,然后再用substring取出每一段的String.
设String最大length为64k,
当StringBuffer的length<64k时,用StringBuffer.toString().
当StringBuffer的Length>64k时,将StringBuffer.length/64k,然后再用substring取出每一段的String.
解决方案 »
- 求平方和问题
- 请教一个问题,调了好几天没调出来……
- 如何删除DAT文件中的数据!
- 将字符串写入.txt文件问题!
- 求教JAVA原始类型编码问题
- ¥¥¥连接池(connection pool)技术中,用DataSource和Driver有什么区别?¥¥¥¥
- 急需一个JAVA写的快速排序的例子,请赐教
- 请问有关安全电子交易(set)的开发问题
- 远程连接数据库
- 高手救命啊!!!!!!!!!!!!!!!!!!!!
- 表单form的action中的post与get是何意义,有什么区别!???
- 请问如何把StringBuffer 的对象转化成一个InputStream 的对象,或者InputStream 子类的对象也可以!
// buffer appends or inserts text.
char[] chars = new char[buffer.length()];
buffer.getChars(0, buffer.length()-1, chars, 0);
CharArrayReader reader = new CharArrayReader(chars);
// 如果需要,可以将reader转化成流。顺便说一句,二进制流(字节流)采用Stream,字符流采用Reader/Writer。
XML文档应该是Unicode字符流,采用Reader/Writer更好。
在撑破String以前一定会有内存不足的错误——处非你有2GB以上的内存——羡慕啊!!!
写错了
InputString in=ByteArrayInputStream(s_tmp.getBytes());
应该是
InputStream in=..........