我有一個文件讀取器,它將文件的行作爲Object[]
返回。我正在使用lines
方法。使用readAllLines
會更快嗎?我不使用該流來進行其他任何操作,但我希望currentBookData
成爲String[]
或Object[]
。哪個Files.readAllLines或Files.lines方法對文件讀取更快?
package input;
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.stream.Stream;
public class ReadFile {
public static Object[] currentBookData;
public static void getBookData(String path) throws IOException {
try (Stream<String> stream = Files.lines(Paths.get(path), Charset.defaultCharset())) {
currentBookData = stream.toArray();
}
catch (IOException ex) {
System.out.println(ex.getMessage());
}
}
}
如果我有一個10,000行文件會怎麼樣?我假設是,因爲它並不是一次完成的。 – CaffeineToCode
我想如果你有足夠的內存readAllLines()每次都會擊敗。爲什麼不嘗試使用大文件並測量System.nanotime()花費的時間? –
測試完成。結果在我的答案。結果足以說明,大約需要9000秒。雖然這不是事實,但結果可能能夠判斷更快的方法。 println方法顯示小數嗎? – CaffeineToCode