Java中有一个称为PrintWriter的类,它可以将字符串输出到文件中,我发现它非常易于使用,因为我只想打印字符串。但是现在我要使用此文件Strings并通过代码替换几个单词,如何实现呢?有任何PrintReader类或类似的类吗?
最佳答案
对于较小的文件,您可以使用Files全部读取和全部写入:
Path path = Paths.get("C:/Data/text.txt");
List<String> lines = Files.readAllLines(path, StandardCharsets.UTF_8);
Files.write(lines, StandardCharsets.UTF_8);
上面使用Path类,它是File的更通用的后继类。
还指定了一个字符集,此处为UTF-8,因此您可以组合各种Unicode脚本和特殊符号。
为了使Windows NotePad能够识别UTF-8,可以将BOM表添加为文件的第一个字符(零宽度空间):
lines.put(0, "\uFEFF", lines.get(0));
(当然要多加注意。)