java - 如何正确解释转义序列 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);
}
}
解决方案
可能您文件的编码不是默认编码UTF-8,这FileReader
是FileInputStream
.
改用 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 会解决的。
推荐阅读
- python - 有没有办法为 vscode 调试预配置变量?
- video - 如何录制屏幕视频
- python - Python Pygame 获取精灵组中精灵的属性
- excel - Excel VBA当前范围单元格选择问题
- python - asyncio - 函数顺序运行而不是同时运行
- flutter - 这个包在 pubspec.yaml 的 `dependencies` 部分没有flutter_web_plugins
- python - 通过使用 python pandas 循环原始列表来填充新列表
- php - 仅结帐一种产品 Woocommerce
- php - 在 WooCommerce 中发送有关自定义订单状态更改的“暂停”电子邮件
- c++ - 如何在 CPP 中将二维数组传递给函数