求教报错OutOfMemoryError
String getData()
{
byte[] b=new byte[in.available()];//b的字节总数是13621601
in.read(b);
Charset cset=Charset.forName("GBK");
ByteBuffer bbuf=ByteBuffer.wrap(b);
CharBuffer cbuf=cset.decode(bbuf);
return cbuf.toString(); //到这句报错java.lang.OutOfMemoryError
}
请问这是什么原因造成的?我应该怎样解决? --------------------编程问答-------------------- 具体原因不太清楚但使用下面的方法可以:
str = new String(b,"GBK");
return str; --------------------编程问答-------------------- 内存溢出。。。
因为b的字节总数是13621601,太大了,超过了你设置的java虚拟机的内存。 --------------------编程问答--------------------
请问如果不考虑设置虚拟机的内存,还有什么方法来处理这种大文件吗? --------------------编程问答-------------------- 我用char[]可以全部读进来,但是String s = new String(char[]);得到的却是NULL --------------------编程问答--------------------
谢谢,我明天试一下:)
补充:Java , Java SE