PrintWriter类的反义词是什么?

时间:2015-07-06 16:16:44

标签: java file class file-io io

Java中有一个名为PrintWriter的类,它可以将字符串输出到文件中,我发现这很容易使用,因为我只想打印字符串。但是现在我想通过代码获取这个文件字符串并替换几个单词,我该如何实现呢?是否有任何PrintReader类或类似的?

4 个答案:

答案 0 :(得分:4)

对于较小的文件,您可以使用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));

(当然要小心一点。)

答案 1 :(得分:1)

也许您正在寻找类似FileReader的内容?

答案 2 :(得分:1)

没有任何名为PrintReader的东西。 BufferedReader类应该可以满足您的需求。

http://docs.oracle.com/javase/7/docs/api/java/io/BufferedReader.html

答案 3 :(得分:1)

您可能正在寻找FileReader。由于您正在尝试阅读文件,因此您应该查看reading-a-text-file-in-java