Linux中缺少国家语言支持会影响java虚拟机吗?

Linux中缺少国家语言支持会影响java虚拟机吗?,java,linux,Java,Linux,我没有Linux。我的Java程序读取在Windows XP下以我的国家语言创建的ANSI编码文本文件。它在Windows XP下工作正常。我对纯Linux是否能处理这样的程序感兴趣。提前谢谢 Java虚拟机当然会受到语言和语言环境设置的影响,但您的程序受到影响的方式取决于程序。例如,字符串文字以Unicode格式存储在编译程序中,因此在任何情况下它们都将保持编译状态 在您的例子中,您似乎对InputStreamReaders等的行为感兴趣,这取决于您如何创建它们。如果创建的InputStrea

我没有Linux。我的Java程序读取在Windows XP下以我的国家语言创建的ANSI编码文本文件。它在Windows XP下工作正常。我对纯Linux是否能处理这样的程序感兴趣。提前谢谢

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

在您的例子中,您似乎对
InputStreamReader
s等的行为感兴趣,这取决于您如何创建它们。如果创建的
InputStreamReader
没有任何字符集参数,它将使用JVM的“默认字符集”概念,这取决于语言环境设置。另一方面,如果在创建它们时传递了显式字符集,则无论在什么平台和语言环境设置上运行程序,它们的行为都是相同的


请注意,
FileReader
(如果您使用的是默认字符集)总是使用默认字符集。

只需在某些VM中安装Linux即可。Linux可以配置为处理ANSI编码(不确定这对您来说到底意味着什么)“一个ANSI编码的文本文件”——这是什么ANSI编码?虚拟机非常适合测试Linux应用程序。Virtualbox/VMWare,而不是Java虚拟机machine@Dolda2000我使用的是Windows-1250-中欧语言。我假设我的代码使用FleReader来读取单个字符
FileReader inputStream=null;那么,我还有希望吗?但无论如何,非常感谢你@user1382181:只需将其更改为使用
InputStreamReader
。这应该不会很难。谢谢你的帮助。我已经理解了当我问这个问题时我不清楚的地方。ANSI对于Linux来说是不自然的。更典型的是,它使用一些扩展的ASCII(在我的例子中是拉丁文2)。Java编程语言可能既知道。。。