read_data = new BufferedReader(new FileReader(args[0]));
data_buffer = new StringBuffer();
int i;
while(read_data.ready())
{
while((i = read_data.read()) != -1)
{
data_buffer.append((char)i);
}
}
data_buffer.append(System.getProperty("line.separator"));
我想要做的是,将整个.txt文件读入一个字符串并在字符串中添加一个换行符。然后可以通过传递data_buffer.toString()来创建一个新的扫描器来处理这个字符串。很明显,在真正大的文件中,这个过程需要花费很多时间,我所要做的只是在我读入内存的.txt文件中添加一个换行符。什么是最快/最有效的方式来追加一个文件加载到内存中的文件?
我知道整个想法似乎有点怪异或怪异,但有没有更快的方法?
干杯:)
嗯,至少,初始化StringBuffer到文件的长度(如果你能知道的话)或者至少是一个相当大的数字,以最小化重新分配操作。 – 2012-04-22 14:33:35
谢谢。我发现这个链接也做得非常好,所以对于碰巧想知道我是同一件事的其他人:http://weblogs.java.net/blog/pat/archive/2004/10/stupid_scanner.html – Chrispy 2012-04-22 14:40:31