我想按行分割一個文本文件,所以在Windows上將是text = new String(Files.readAllBytes(path), charset); text.split("\r\n", -1)
,在UNIX上它的編號爲text.split("\n", -1)
和text.split(System.lineSeparator(), -1)
適用於兩者。但是如果一個文件是在UNIX上創建並複製到Windows的,反之亦然 - 我該如何最好地處理這些情況?這對文件本身意味着什麼 - 如果你試圖在文本編輯器如記事本中查看它,它會被破壞嗎?逐行分割文本文件,平臺無關
0
A
回答
3
嘗試Files.readAllLines
。或者Files.lines
這將返回你的線Stream
。
從readAllLines
的Javadoc:
該方法可以識別以下作爲行終止:
- \ u000D隨後\ u000A,回車跟LINE FEED
- \ u000A, LINE FEED
- \ u000D,CARRIAGE RETURN
從一個文件系統複製到另一個文件系統不會更改文件的內容(除非您正在執行一些「特殊」複製;-))。
1
如果您創建了一個文件,它將使用該平臺原生的任何行分隔符。
如果您然後在另一個平臺上打開該文件,則該文件不會更改。如果您在Windows上打開一個unix文件,它不會獲得額外的\r
字符。
它確實取決於編輯器的外觀,有些編輯器比其他編輯器處理得更好。
至於Java,如果您需要指定行尾字符序列,則只需使用System.lineSeparator()
。
正如@Andreas所提到的,您可以使用BufferedReader.readLine()
一次讀取一行文件,它將以獨立於平臺的方式處理行尾字符序列。
相關問題
- 1. 如何將文本文件逐位分割爲兩個文件
- 2. 從txt文件中逐行讀取並逐行分割
- 3. 從文件中逐塊讀取,然後逐行分割測試
- 4. 將平面文件行分割爲多個平面文件SSIS
- 5. MSBUILD分割文本文件導入行
- 6. Python分割文本文件
- 7. 分割文本文件
- 8. 分割ASCII文本文件
- 9. 如何在PL/SQL中逐行分割文本?
- 10. 任何讀取文本文件的頭文件與平臺無關?
- 11. PHP:無法從php文本文件中逐行檢索文本
- 12. 逐行分割txt文件,並從每行創建一個txt文件
- 13. 如何使用python逐行分割notpad文件?
- 14. 將'='分隔線上的文本文件逐行分解C++
- 15. 逐行數據幀分割
- 16. 分割文本SQL文本
- 17. 想要將文本文件分割爲每行一個文件
- 18. 使用Java分割平面文件
- 19. 逐行編輯文本文件VB6
- 20. 如何逐行讀取文本文件?
- 21. 如何逐行讀取文本文件?
- 22. 逐行瀏覽文本文件C
- 23. 用jQuery逐行讀取文本文件
- 24. 逐行交織兩個文本文件
- 25. 從文本文件逐行讀取C++
- 26. android - 從文本文件逐行讀取
- 27. 逐行讀取文本文件
- 28. 如何將文本文件分割爲多個文本文件
- 29. 分割文件
- 30. Perl將文本文件分割成塊
爲什麼不使用'Files.readAllLines()'? – shmosel
爲什麼要在將文件分割成行之前先將整個文件加載到內存中,何時可以使用'BufferedReader'的'readLine()'方法直接從文件中讀取行? – Andreas