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