我想知道以下代码是否适用于Linux。
InputStreamReader isr = new InputStreamReader(file.getInputStream(),"WINDOWS-31J");
如果不善意指出我可以使用WINDOWS-31J
相当于Linux字符编码的方向。
提前感谢任何帮助。
答案 0 :(得分:1)
是的,windows-31j
/ MS932
附带了适用于Solaris,Linux和Windows的Oracle版Java 7。有关完整列表,请参阅Supported Encodings。
答案 1 :(得分:1)
根据Oracle文档,它受到支持:
https://docs.oracle.com/javase/8/docs/technotes/guides/intl/encoding.doc.html
Canonical Name for java.nio API | Canonical Name for java.io API and java.lang API | Description
windows-31j MS932 Windows Japanese
以便您将其调用为:
InputStreamReader isr = new InputStreamReader(file.getInputStream(),"MS932");
它提到了charset在扩展集中的定义:lib/charsets.jar
。您可能必须在项目中包含它。它位于jre \ lib \ charsets.jar下的JDK目录中。