首页 > 解决方案 > 如何正确解释转义序列 Java

问题描述

我的 Java 程序似乎难以解释转义字符。输出应该是彩色文本,但最终会变成像\u00202b+-+¦¦+-++-+¦¦+-+¦¦¦+-+而不是颜色。

public static void main(String[] args) throws IOException {

    BufferedReader br = new BufferedReader(new FileReader("C:\\Users\\gabri\\IdeaProjects\\Atlas\\into.txt"));
    String line;
    while ((line = br.readLine()) != null) {
        System.out.println(line);
    }
}

标签: javaansi

解决方案


可能您文件的编码不是默认编码UTF-8,这FileReaderFileInputStream.

改用 a 尝试不同的编码InputStreamReader

BufferedReader br = new BufferedReader(
  new InputStreamReader(
    new FileInputStream("C:/Users/gabri/IdeaProjects/Atlas/into.txt"),
    Charset.forName("UTF-16") // find an encoding that works
  )
);

有几个标准字符集可供选择。


旁注:您可以将/其用作 Windows 操作系统文件系统的路径分隔符 - java 会解决的。


推荐阅读