我正在尝试将多个文本文件合并到一个新文件中。但是,查看创建的新文件有一些奇怪的字符已经替换了引号,我无法弄清楚为什么或如何发生这种情况。尝试指定编码,但它没有解决问题。我使用错误的字符编码吗?
Reader reader = new InputStreamReader(new FileInputStream(fileName), "utf-8");
问题在于:
原始文件包含:
|3_PatFemale("X")|3_PatSex (”M” or “F”)|
新文件包含
|3_PatFemale("X")|3_PatSex (�M� or �F�)|
代码:
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(exportFile),"UTF-8"));
for (File f : files) {
FileInputStream fis;
try {
fis = new FileInputStream(f);
BufferedReader in = new BufferedReader(new InputStreamReader(fis));
String aLine;
while ((aLine = in.readLine()) != null) {
out.write(aLine);
out.newLine();
}
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
答案 0 :(得分:1)
从此
更改文件的内容|3_PatFemale("X")|3_PatSex (”M” or “F”)|
到
|3_PatFemale("X")|3_PatSex ("M" or "F")|
您正在使用的报价
”
(主要引号)
与
不同"
供进一步参考:https://askleo.com/why_do_i_get_odd_characters_instead_of_quotes_in_my_documents/