我有一段这样的代码:
data = new String(Files.readAllBytes(Paths.get(strFileName)));
PrintWriter out = new PrintWriter(filename);
out.println(data);
当它写...时,它正在将引号(可能还有其他内容)更改为看起来像傻瓜。也许这是未签名的int之类的东西?
这是原始内容: “ 4小时满月”
它变为: “ 4小时完整满月”?
我应该说文件中的其他引号没有变化...但是有一些引号(我知道单引号也有类似的问题)。
答案 0 :(得分:2)
通过PrintWriter
构造函数显式更改编码,默认情况下Java可能使用UTF-8
PrintWriter pw = new PrintWriter("filename", "ISO-8859-1");
答案 1 :(得分:0)
您必须进行更改
PrintWriter out = new PrintWriter(filename);
到
PrintWriter out = new PrintWriter(filename, "ISO-8859-1");
因为默认情况下,printwriter将不会使用ISO-8859-1编码。