作者ntb (錩哥超口爱)
看板java
标题[问题] 想跳掉第一行出现OutOfMemoryError
时间Tue Jun 28 00:22:59 2011
我的程式目的是想将文字档变成一行字串 (StringBuffer的物件)
每个档案的大小约40 mb,
因为第一行的标题不想串入StringBuffer的物件内,
所以想跳掉第一行,
但不知道为什麽少串这行,在执行时反而会发生错误。
(若拿掉String str = input.readLine()就可以)
import java.io.*;
public class Test{
public static void main(String[] args) throws Exception {
String file = args[0];
BufferedReader input0 =
new BufferedReader(new FileReader(new File(file)));
//放欲开启档案的档名 第一行1.txt 第二行2.txt...
String str0;
while ((str0= input0.readLine()) != null){
BufferedReader input =
new BufferedReader(new FileReader(new File(str0)));
String str = input.readLine();
原本想利用这行来跳过标题列
但多这一行就会有错误 OutOfMemoryError: Java heap space
StringBuffer sb = new StringBuffer();
while ((str = input.readLine()) != null){
sb = sb.append(str);
问题显示是出现在这
}
System.out.println(sb.length());
input.close();
}
input0.close();
}
}
请板上有经验的板友前辈不吝赐教
非常感谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.25.239.129
※ 编辑: ntb 来自: 114.25.239.129 (06/28 00:24)
1F:→ IamTD:加大执行时的记忆体配置量?? 查查 -Xmx这个参数 06/28 17:11
2F:→ ntb:其实我有试过~Xmx300m就可以~ 06/29 13:35
3F:→ ntb:但总觉得只是多这一行,就要开到那麽多,有点不解@@ 06/29 14:11
4F:→ ntb:加上怕是自己基本概念不好,所以写的东西要吃很多记忆体 06/29 14:49