回答
BufferedReader的readline()方法應該足夠了。否則,你必須讀取任意數量的字節並解析結束符'\ n'或\ r \ n',如果它在windows風格行結尾
感謝您的回答。正是我想知道的。 –
是指Java 5.0中引入的NIO,7年前?或者在Java 7中添加異步NIO?
總之,簡單的答案是使用BufferedReader要簡單得多,速度並不慢。
如果您必須使用ByteBuffer,或者您想要最後一點的性能,則必須一次讀取一個字節。 (你有處理,只有部分線路已被讀取,所以你可以在字節緩衝區到達新行之前用完數據的情況)
有趣的你的答案。我對「BufferedReader」的性能表示懷疑。在這種情況下,我不需要解析。 –
如果您必須從文件中讀取文本,您可以獲得NIO可達到的最高性能的25%(沒有複雜性)。在任何情況下,如果您有HDD,則更有可能受硬件限制。 (使用SSD可以產生很小的差異) –
或者對於小文件,你可以這樣做:
List<String> smallFilesLines = Files.readAllLines(
FileSystems.getDefault().getPath("smallFile.txt"), StandardCharsets.UTF_8);
for (String oneLine : smallFilesLines) {
System.out.println(oneLine);
}
- 1. IO讀取(JAVA)
- 2. 使用java讀取新行字符
- 3. Java 7新的IO API - Paths.exists
- 4. 使用Java 7獲取文件/目錄大小新的IO
- 5. Java串口IO讀取
- 6. Java文件使用BufferedInputStream讀取大文件時截斷的IO
- 7. 使用Java IO返回讀取文件的「不可能」null null
- 8. JAVA IO:使用BufferedReader讀取流的問題
- 9. Java - 使用InputStream讀取行
- 10. 使用Java讀取並更新CSV中的字段
- 11. 更新時使用Java讀取的SQL時間戳
- 12. Java二進制IO寫入和讀取
- 13. java io讀取和寫入鎖
- 14. Android的IO讀取文件
- 15. PHP:FREAD不讀取新行
- 16. Logstash讀取新行問題
- 17. 使用MPI-IO讀取文本文件?
- 18. 將Java NIO與IO輸入流混合使用讀取操作
- 19. 使用fs.createReadStream讀取文件並讀取額外的新行字符,爲什麼?
- 20. NSFetchRequest不讀取更新的行
- 21. imacros jave循環讀取新的csv行?
- 22. 無法讀取文件的新行
- 23. Java:從文本文件中讀取尾隨的新行
- 24. JAVA客戶端服務器用新行讀取字符串
- 25. 使用單元格內的新行字符讀取CSV
- 26. Perl中,讀取使用IO ::選擇和IO ::插座:: INET
- 27. 的Java讀取使用URL
- 28. 的Java讀取使用POI
- 29. 使用Jackcess更新Java中的行
- 30. NSFetchedResultsController刷新重新讀取?
你嘗試過什麼嗎?什麼工作?什麼沒有? – Piskvor
定義「最佳」......最快,最容易理解/維護,便攜,強大,響應......? – Bohemian