Java 从文件读取时无法识别 \n

Java does not recognize \n when read from file

如果我直接打印为

System.out.println("a\nb");

结果将如预期,字符之间换行, 但是如果我使用

从文本文件中读取同一行
public static void main(String[] args) throws IOException {
    List<String> lines;
    lines = Files.readAllLines(Paths.get("filename.txt"));
    String[] array = lines.toArray(new String[0]);
    System.out.println(array[0]);

显示的文本将与文件“a\nb”中的内容完全一致,字符之间没有换行符。 toString 和其他方法没有帮助。

我应该如何更新代码?

在同事和评论者的帮助下得到了解释和答案(虽然不是最优雅的方法)。 代码中的“\n”被解释为换行符,但当从文件中读取时,它变成了一组两个字符:“\”和“n”,并且不再被正确识别。消除问题的最短方法是用程序代码中的新行替换这些字符,添加“replace(”\n”, “\n”)”。于是,代码就变成了这样:

public static void main(String[] args) throws IOException {
    List<String> lines;
    lines = Files.readAllLines(Paths.get("filename.txt"));
    String[] array = lines.toArray(new String[0]);
    System.out.println(array[0].replace("\n", "\n"));