我一直在尝试使用JAVA读取"cp037“编码模式的文件。我能够阅读像UTF-8,UTF16 etc...After这样的基本编码方案的文件,在互联网上做了一点研究后,我才知道我们需要安装charset.jar或国际版本的JRE来支持扩展编码方案。谁能给我一个国际版本的JRE6或JDK6的链接。或者,有没有更好的方法可以读取cp037编码模式的文件。
附注: cp037是IBM大型机支持的一种字符编码方案。我所需要的就是使用java程序在windows中显示一个文件,该文件是在IBM大型机上生成的。
提前感谢你的帮助……:-)
发布于 2010-05-25 04:49:24
我发现了用于Java5的this webpage (注意,对于Java6可能会有所不同)。没有特殊的、单独的“国际”版本的JRE或JDK;但是,您的系统上是否安装lib\charsets.jar取决于您的操作系统支持什么。
您确定您的JRE安装目录中没有charsets.jar吗?在我的系统上,它在%JDK_HOME%\jre\lib下。(注:不在%JDK_HOME%\lib下)。
搜索您的系统,看看您是否已经在某个地方安装了charsets.jar。(请注意,它被称为带有s的charsets.jar,而不是charset.jar)。
发布于 2010-05-25 04:43:10
在互联网上做了一些研究后,我知道我们需要安装charset.jar或国际版本的JRE来支持扩展编码方案。
您确定这个字符集没有包含在标准发行版中吗?
这段代码在jdk 1.6.0_17 64位(Windows)上运行良好:
Charset charset = Charset.forName("cp037");
BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream(f), charset));
String line = null;
while ((line = br.readLine()) != null) {
System.out.println("read line: " + line);
}发布于 2011-07-19 03:48:24
这是一个与WinXP上的Java1.6略有不同的代码,通过web上传从大型机获取文本:
String text = new String(data, 0, data.length, "Cp037");
text = text.replace('', 'a');
text = text.replace('Ý', '[');
text = text.replace('¨', ']');请注意,有几个字符需要特别注意。
https://stackoverflow.com/questions/2900038
复制相似问题