
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 试试 |