Fork me on GitHub

关于读取文件内容时报sun.io.MalformedInputException的问题 [转]

在网上找到的原因是这样的:
这个问题产生的原因是IBM在JDK 1.4版本中为了追求对io通道的高效率改变了JDK 1.3中对io通道中异常处理的策略。IBM JDK 1.4中对于io通道的异常处理更加严格,因此系统中会报上面的错误。 
解决这一问题的办法是不使用IBM JDK 1.4中默认的io通道,而使用nio通道。具体的做法如下: 
1.打开管理控制台,找到并选择运行这个JSP的应用服务器 
2.依次选择进程定义,java虚拟机,一般JVM自变量 
3.添加-Dibm.stream.nio=true 
4.确定,保存 
5.重新启动该服务器 

本来我就怀疑又是IBM JDK的问题,果然被我不幸言中了,再次表示一下郁闷!

我发现在我需要读取的文件当中存在这样的一些乱码字符

我原来是用下面这段程序读取这个文件的内容并打印的:

FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String str="";
String result = "";
while((str=br.readLine())!=null){
    result += str + "\n";
}

posted @ 2013-03-22 13:42  _落雨  阅读(166)  评论(0编辑  收藏  举报