java - 在java中读取文本文件的问题
问题描述
我使用 FileWriter 保存 CSV 文件(文本文件)。当我使用 sublime text 这样的文本编辑器阅读它时,一切似乎都很好。但是当我用java阅读它时,我得到了一些讨厌的字符,无论如何我尝试阅读它。
阅读示例:
StringBuilder sb=new StringBuilder();
try {
String ligne;
BufferedReader fichier1 = new BufferedReader(new FileReader(nom_office));
while ((ligne = fichier1.readLine()) != null) {
sb.append(ligne);
}
fichier1.close();
} catch (Exception e) {
e.printStackTrace();
}
//String totalité = new String(encoded, encoding);
String totalité = sb.toString();
以下这些陈述的结果是:
System.out.println("##############");
System.out.println(totalité);
PK!t
。
...等等。为什么它与崇高文本中的结果不同?
解决方案
BufferedReader
使用可能不是的默认系统编码,这UTF-8
就是您需要的。试试这个:
BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream(file), "UTF-8"));
此外,您的 IDE 控制台需要配置为使用 UTF-8,这非常重要!
推荐阅读
- mysql - 无法登录谷歌云存储sql实例
- python - Lambda函数python 3
- python - 如果元组中的项目不在其他数据帧的列表中,则删除元组
- c++ - 头文件中定义的静态对象和 cpp 文件中定义的静态对象有什么区别?
- c - 使用 while 循环打印每行 10 个字符的 Ascii 表
- linux - 在文件中匹配的字符串(模式 1)上方打印特定的单词直到匹配的字符串(模式 2)
- node.js - 无法让 Stripe 元素与 Vue.js 一起使用
- angular - firebaseui:构建应用程序后的角度错误
- php - Html 数据单元格使用 form-control select2 laravel 5.8 缩小
- javascript - 我无法在 javascript 中跨越类我的 × 警报(引导程序)