如何在java中更改文件编码表

如何在java中更改文件编码表,java,encoding,character-encoding,codepages,file-encodings,Java,Encoding,Character Encoding,Codepages,File Encodings,我有我的代码来检查编码表: System.out.println("enc. table: "+System.getProperty("file.encoding") + "enc. table: "+new java.io.OutputStreamWriter(new java.io.ByteArrayOutputStream()).getEncoding() + "enc. table:" + java.nio.charset.Charset.def

我有我的代码来检查编码表:

System.out.println("enc. table: "+System.getProperty("file.encoding") +
          "enc. table: "+new java.io.OutputStreamWriter(new java.io.ByteArrayOutputStream()).getEncoding() + 
          "enc. table:" + java.nio.charset.Charset.defaultCharset().name());

从windows启动时,我使用cp1250获取文本文件,从嵌入式系统启动时,我使用cp852获取文本文件。在windows中,我设置了代码页852。在Eclipse中,我设置了cp852。一些解决方案?

您真的应该在
OutputStreamWriter
上指定所需的编码

new OutputStreamWriter(outstream, "cp852");

您可能还想阅读Joels的文章

“如何从java语法上更改所有这些设置”的可能副本。有可能吗?你不需要改变它。所有需要编码的jdk类都允许您手动指定编码。(并且您无法在运行时可靠地更改默认值)。