先看看生成文件的代码片段:
以上代码使用了PrintStream输出文件,这样在英文的操作系统下生成的含有中文的文件是乱码的。
解决办法:使用PrintWriter代替PrintStream,代码如下:
从fos的write方法参数可以看出PrintStream是按字节输出的,PrintWriter是按照字符输出的。
用PrintStream 打印的所有字符都使用平台的默认字符编码转换为字节。在需要写入字符而不是写入字节的情况下,应该使用PrintWriter类。
先看看生成文件的代码片段:
以上代码使用了PrintStream输出文件,这样在英文的操作系统下生成的含有中文的文件是乱码的。
解决办法:使用PrintWriter代替PrintStream,代码如下:
从fos的write方法参数可以看出PrintStream是按字节输出的,PrintWriter是按照字符输出的。
用PrintStream 打印的所有字符都使用平台的默认字符编码转换为字节。在需要写入字符而不是写入字节的情况下,应该使用PrintWriter类。