要明白,用filewriter读取文件采取的是平台默认编码(视操作系统而定)。当要写入的文本文件编码和平台默认编码不一致时,就会出现中文乱码的情况。这时可以使用filewriter 的父类OutputStreamWriter来读取。OutputStreamWriter允许用户指定编码方式,代码为:
FileInputStream fis=new FileInputStream("文件路径");
OutputStreamWriter osw=new OutputStreamWriter(fis,"文本文件的编码方式(ANSI,UTF-8...)")
osw.write()
这样写入的编码可以保证和源文本文件编码一致,就不会出现乱码了。
可在 CMD 窗口输入 chcp 65001 后,再尝试输入 java 命令。
chcp 命令是用来显示或更改活动控制台的代码页。
在 CMD 窗口直 输入 chcp ,可以显示当前代码页编号,默认是 936 ,表示支持 GB2312 编码。
将代码页设置为 65001 ,则支持 UTF-8 编码。