您的位置:首页 > 其它

sun.io.MalformedInputException

2008-11-27 09:51 381 查看
昨天在读取文件的时候遇到一个问题:

D:/Production/FSCS1.0/Workspace/zhuGanDaiMa/POI-Web/WebContent/jsp/poi/pi/discount/piCalculationInfo.jsp
sun.io.MalformedInputException
at sun.io.ByteToCharGB18030.convert(ByteToCharGB18030.java:171)
at sun.nio.cs.StreamDecoder$ConverterSD.convertInto(StreamDecoder.java:314)
at sun.nio.cs.StreamDecoder$ConverterSD.implRead(StreamDecoder.java:364)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:250)
at java.io.InputStreamReader.read(InputStreamReader.java:212)
at java.io.BufferedReader.fill(BufferedReader.java:157)
at java.io.BufferedReader.readLine(BufferedReader.java:320)
at java.io.BufferedReader.readLine(BufferedReader.java:383)
at queryResource.searchString(queryResource.java:83)
at queryResource.searchString(queryResource.java:66)
at queryResource.searchString(queryResource.java:66)
at queryResource.searchString(queryResource.java:66)
at queryResource.searchString(queryResource.java:66)
at queryResource.searchString(queryResource.java:66)
at queryResource.searchString(queryResource.java:66)
at queryResource.searchString(queryResource.java:66)
at queryResource.main(queryResource.java:210)

查询后得出结论,并亲自试用后,问题解决,方法原因如下:

这个异常产生的原因是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.重新启动该服务器
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐