1
armstrong 2017-05-10 09:21:18 +08:00
可以试试 Guava,Files.readLine() 或者 readLines()
|
2
mosliu 2017-05-10 09:27:23 +08:00
(new BufferedReader(new InputStreamReader(new FileInputStream("path"),"utf-8"))).readLine()
|
3
kiwi95 2017-05-10 09:29:30 +08:00
scanner
|
4
mosliu 2017-05-10 09:30:30 +08:00
或者直接
Files.readAllLines("path") 后面接 lambda 很方便 |
6
mosliu 2017-05-10 09:35:06 +08:00
锟斤拷乱码?
读的时候直接按照编码读不就好了? |
7
SoloCompany 2017-05-10 10:00:39 +08:00
@mosliu 大部分的编码方式的编码空间都是不可还原的(意思是说 decode 为 string 后再 encode 无法保证得到原始的 byte 序列),包括我们最常见的 utf8 以及 gb18030,如果你希望可 100% 还原,那么可以选择 Files.readAllLines(Path, ISO_8859_1), 然后每行都要先使用 ISO_8859_1 重新 encode 回 bytes 再强制编码转换
|
8
ihuotui 2017-05-10 10:20:01 +08:00 via iPhone
要高效率用 nio
|
9
Arthur2e5 2017-05-10 10:32:20 +08:00
唔我问个白痴问题:在各种 UTF-16 和 UTF-32 存在的情况下,是如何做到在阅读未知编码的文件下考虑换行符的?(逃)
|
10
lululau 2017-05-10 11:20:08 +08:00
Files#lines
|
12
mosliu 2017-05-10 21:27:26 +08:00
@SoloCompany 不是我问的。。。
我明白 所以才说 锟斤拷 :D:D:D |
13
banker OP |
14
Ouyangan 2017-05-11 09:18:30 +08:00
common 的 fileUtil 试试
|