读书人

小弟我想请教一上可以把一个300M的txt

发布时间: 2013-03-19 17:22:05 作者: rapoo

我想请问一下可以把一个300M的txt文档的内容通过java读取之后复制到string中吗?
我想把一个300M的txt文档用java读取之后内容存到string中代码如下:


FileInputStream fis = new FileInputStream(files[i]);
String content = "";
BufferedReader reader = new BufferedReader(new InputStreamReader(fis));

StringBuffer buffer = new StringBuffer("");
content = reader.readLine();
while (content != null) {
buffer.append(content);
content = reader.readLine();
}
可是一运行就提示了这个错误

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Unknown Source)
at java.lang.AbstractStringBuilder.expandCapacity(Unknown Source)
at java.lang.AbstractStringBuilder.ensureCapacityInternal(Unknown Source)
at java.lang.AbstractStringBuilder.append(Unknown Source)
at java.lang.StringBuffer.append(Unknown Source)
at com.langhua.Indexer.main(Indexer.java:60)
这是因为内存不够吗?是不是不能将这么大的文件存为string类型??
[解决办法]
一开始我是把Document作为一个全局变量,然后也出现覆盖,放到while循环里就不会覆盖了,楼主试试。

读书人网 >J2EE开发

热点推荐