复现问题:
代码实现:
@Test
public void readGBKFilesToUTF8() {
Path path = Paths.get("E:\\Run.java");
try {
// Java 8
List<String> list = Files.readAllLines(path, Charset.forName("GBK"));
list.forEach(System.out::println);
Files.write(Paths.get("E:\\ok.java"), list, StandardCharsets.UTF_8);
// Java 8
Stream<String> lines = Files.lines(path, Charset.forName("GBK"));
lines.forEach(System.out::println);
Files.write(Paths.get("E:\\ok2.java"), list, StandardCharsets.UTF_8);
} catch (IOException e) {
e.printStackTrace();
}
}
实现效果: