<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 14, 文章 - 39, 評論 - 17, 引用 - 0
    數(shù)據(jù)加載中……

    關(guān)于讀取文件內(nèi)容時(shí)報(bào)sun.io.MalformedInputException的問題 [轉(zhuǎn)]

    在網(wǎng)上找到的原因是這樣的:
    這個(gè)問題產(chǎn)生的原因是IBM在JDK 1.4版本中為了追求對io通道的高效率改變了JDK 1.3中對io通道中異常處理的策略。IBM JDK 1.4中對于io通道的異常處理更加嚴(yán)格,因此系統(tǒng)中會(huì)報(bào)上面的錯(cuò)誤。
    解決這一問題的辦法是不使用IBM JDK 1.4中默認(rèn)的io通道,而使用nio通道。具體的做法如下:
    1.打開管理控制臺,找到并選擇運(yùn)行這個(gè)JSP的應(yīng)用服務(wù)器
    2.依次選擇進(jìn)程定義,java虛擬機(jī),一般JVM自變量
    3.添加-Dibm.stream.nio=true
    4.確定,保存
    5.重新啟動(dòng)該服務(wù)器

    本來我就懷疑又是IBM JDK的問題,果然被我不幸言中了,再次表示一下郁悶!

    我發(fā)現(xiàn)在我需要讀取的文件當(dāng)中存在這樣的一些亂碼字符

    我原來是用下面這段程序讀取這個(gè)文件的內(nèi)容并打印的:
    FileReader fr = new FileReader(file);
    BufferedReader br = new BufferedReader(fr);
    String str="";
    String result = "";
    while((str=br.readLine())!=null){
        result += str + "\n";
    }
    即逐行讀取的方法,我想也是一般的方法,但是就是這個(gè)readline方法導(dǎo)致了IBM JDK 1.4.2 報(bào)了這個(gè)sun.io.MalformedInputException的問題.

    我現(xiàn)在使用的解決方法如下:
    String result = "";
    StringBuffer sBuffer=new StringBuffer();
    FileInputStream fis=new FileInputStream(file);
    BufferedInputStream bis=new BufferedInputStream(fis);
    String tempStr;
    byte[] b = new byte[1024];
    int i = 0;
    while ((i = bis.read(b)) > 0) {
        tempStr=new String(b,0,i);
        sBuffer.append(tempStr);
    }
    result = sBuffer.toString();

    即逐字節(jié)讀取的方法.這樣處理就可以正常讀取了!

    具體到底為什么會(huì)出現(xiàn)這種問題現(xiàn)在還沒弄明白,估計(jì)也弄不明白了!


    posted on 2007-03-01 10:08 mlw2000 閱讀(3760) 評論(4)  編輯  收藏

    評論

    # re: 關(guān)于讀取文件內(nèi)容時(shí)報(bào)sun.io.MalformedInputException的問題 [轉(zhuǎn)]  回復(fù)  更多評論   

    我也碰到這個(gè)問題,逐行讀取,碰到中文就報(bào)這個(gè)錯(cuò)!
    實(shí)在搞不定,現(xiàn)在換逐字符讀取試試
    2007-07-12 19:27 | kvill

    # re: 關(guān)于讀取文件內(nèi)容時(shí)報(bào)sun.io.MalformedInputException的問題 [轉(zhuǎn)]  回復(fù)  更多評論   

    好~~~
    2007-12-25 16:55 | java綜合網(wǎng)

    # re: 關(guān)于讀取文件內(nèi)容時(shí)報(bào)sun.io.MalformedInputException的問題 [轉(zhuǎn)]  回復(fù)  更多評論   

    多謝
    2011-06-16 17:40 | Monroe

    # re: 關(guān)于讀取文件內(nèi)容時(shí)報(bào)sun.io.MalformedInputException的問題 [轉(zhuǎn)]  回復(fù)  更多評論   

    3Q
    2011-11-29 16:55 | Endy

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 国产亚洲精久久久久久无码77777 国产亚洲精品成人AA片新蒲金 | 久久亚洲高清综合| 国精产品一区一区三区免费视频| 亚洲国产人成在线观看69网站| 男人的好免费观看在线视频| 边摸边吃奶边做爽免费视频网站| 亚洲AV永久无码区成人网站 | aⅴ免费在线观看| 美女视频黄a视频全免费网站一区| 亚洲va中文字幕无码久久| 无码高潮少妇毛多水多水免费| eeuss影院免费直达入口| 亚洲第一页中文字幕| 日本中文一区二区三区亚洲| 182tv免费观看在线视频| 免费大片av手机看片| 亚洲午夜久久久久久尤物| 亚洲麻豆精品国偷自产在线91| 亚欧色视频在线观看免费| xvideos永久免费入口| 亚洲男人天堂2022| 亚洲国产精品乱码一区二区 | 暖暖免费高清日本一区二区三区| 欧洲人免费视频网站在线| 美女免费精品高清毛片在线视| 亚洲人成高清在线播放| 亚洲男人的天堂www| 波多野结衣免费视频观看| 免费99精品国产自在现线| 国产免费网站看v片在线| 免费在线人人电影网| 中国亚洲呦女专区| 91亚洲一区二区在线观看不卡 | 亚洲精品国产情侣av在线| 在线日韩日本国产亚洲| 国产成人精品免费视频大全五级 | 亚洲三级电影网站| 伊伊人成亚洲综合人网7777| 免费人成在线观看播放国产| 1000部拍拍拍18勿入免费视频软件 | 亚洲国产熟亚洲女视频|