I/O中的输入输出乱码问题
使用FileWriter从文件A中读取数据(含有中文),使用FileWriter把读取的数据写入到另一个文件B,程序执行完后,打开文件B,发现中文都是乱码, 这是什么原因呢?怎么解决,哪位大神知道的,给小弟讲解下,不胜感激! --------------------编程问答-------------------- 要明白,用filewriter读取文件采取的是平台默认编码(视操作系统而定)。当要写入的文本文件编码和平台默认编码不一致时,就会出现中文乱码的情况。这时可以使用filewriter 的父类OutputStreamWriter来读取。OutputStreamWriter允许用户指定编码方式,代码为:FileInputStream fis=new FileInputStream("文件路径");
OutputStreamWriter osw=new OutputStreamWriter(fis,"文本文件的编码方式(ANSI,UTF-8...)");
osw.write();
这样写入的编码可以保证和源文本文件编码一致,就不会出现乱码了。。。 --------------------编程问答--------------------
// 获取当前文件编码
Properties props=System.getProperties();
props.getProperty("file.encoding");
补充:Java , Java EE