可能是受Linux中缺少国家语言支持的java虚拟机的影响



我没有Linux。我的Java程序读取在Windows XP下用我的本国语言创建的ANSI编码文本文件。它在Windows XP下正常工作。我很感兴趣,如果纯Linux可以处理这样的程序。提前感谢!

Java VM 当然会受到语言和语言环境设置的影响,但程序受到影响的方式(如果有)取决于程序。例如,字符串文字存储在编译程序中的 Unicode 中,因此它们在任何情况下都将保持编译状态。

在您的情况下,您似乎对InputStreamReader等的行为方式感兴趣,这取决于您如何创建它们。如果创建一个没有任何字符集参数的InputStreamReader,它将使用 JVM 的"缺省字符集"概念,这取决于语言环境设置。另一方面,如果在创建它们时传递显式字符集,则无论您在什么平台和区域设置上运行程序,它们的行为都将相同。

作为记录,FileReader(如果您使用的是)始终使用默认字符集。

最新更新