Java Charset.forName()无法解析符号“0”;CP-437";。如何使用此字符集?

Java Charset.forName()无法解析符号“0”;CP-437";。如何使用此字符集?,java,character-encoding,inputstream,Java,Character Encoding,Inputstream,我正在为从客户那里得到的txt文件编写解析器。显然,我使用的字符集不正确,因为有些字符显示不正确 我尝试了file-I file.txt但是我得到了file.txt:text/plain;字符集=未知-8位 我在编辑器上尝试了不同的字符集设置,使用DOS(CP 437)一切看起来都很好 因此,我尝试使用此字符集读取文件,但在使用时出现错误“无法解析符号” Charset.forName("CP-437") (java.nio.charset.charset) 我也试过不同的拼写,但到目前为止没

我正在为从客户那里得到的txt文件编写解析器。显然,我使用的字符集不正确,因为有些字符显示不正确

我尝试了
file-I file.txt
但是我得到了
file.txt:text/plain;字符集=未知-8位

我在编辑器上尝试了不同的字符集设置,使用DOS(CP 437)一切看起来都很好

因此,我尝试使用此字符集读取文件,但在使用时出现错误“无法解析符号”

Charset.forName("CP-437")
(java.nio.charset.charset)


我也试过不同的拼写,但到目前为止没有任何效果。关于如何解决这个问题有什么想法吗?

您可以使用
IBM437
(对于
nio
软件包),因此:

有关支持的编码,请查看此链接:


您可以使用
IBM437
(用于
nio
软件包),因此:

有关支持的编码,请查看此链接:


答案有点像这样:

public class Charsets {    
    public static void main(String[] args) {
        SortedMap<String, Charset> x = Charset.availableCharsets();
        System.out.println(x);
        System.out.println(x.containsKey("CP-437"));
    }   
}
公共类字符集{
公共静态void main(字符串[]args){
SortedMap x=Charset.availableCharsets();
系统输出println(x);
系统输出打印LN(x.containsKey(“CP-437”);
}   
}

答案有点像这样:

public class Charsets {    
    public static void main(String[] args) {
        SortedMap<String, Charset> x = Charset.availableCharsets();
        System.out.println(x);
        System.out.println(x.containsKey("CP-437"));
    }   
}
公共类字符集{
公共静态void main(字符串[]args){
SortedMap x=Charset.availableCharsets();
系统输出println(x);
系统输出打印LN(x.containsKey(“CP-437”);
}   
}

回答得不错。最后,这是一个命名问题,但这对于检查哪些字符集可用是有用的。回答不错。最后,这是一个命名问题,但这对于检查哪些字符集可用是有用的。