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

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

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

    Blogger Scott

    CharsetDecoder.decode()與Charset.decode()

        這是一個在處理大文本文件字符編碼轉換時碰到的問題,即使用CharsetDecoder.decode()方法解碼一個MappedByteBuffer對象時,如果這個MBB對象的長度設置的不好,可能會出現“java.nio.charset.MalformedInputException:Malformed input length is 2.”的錯誤。但是如果直接使用Charset.decode()方法,則不會出現這樣的錯誤。兩端代碼片段如下:

    1、使用CharsetDecoder.decode()方法:

     

     1.
     2   File infile = new File(inFilename);
     3   RandomAccessFile raf = new RandomAccessFile(infile, "r");
     4   MappedByteBuffer mbb = raf.getChannel().map(FileChannel.MapMode.READ_ONLY,0,6000);
     5   Charset inCharset = Charset.forName("GBK");
     6   Charset outCharset = Charset.forName("UTF-8");
     7   
     8   CharsetDecoder inDecoder = inCharset.newDecoder();
     9   CharsetEncoder outEncoder = outCharset.newEncoder();
    10
    11   CharBuffer cb = inDecoder.decode(mbb);
    12
    13   ByteBuffer outbb = outEncoder.encode(cb);
    14
    15   CharSequence str = new String(outbb.array());
    16   System.out.println("str is :"+str);
    17.
    18
    19


    2、直接使用Charset.decode()方法:

    .
       File infile 
    = new File(inFilename);
       RandomAccessFile raf 
    = new RandomAccessFile(infile, "r");
       MappedByteBuffer mbb 
    = raf.getChannel().map(FileChannel.MapMode.READ_ONLY,0,6000);
       Charset inCharset 
    = Charset.forName("GBK");
       Charset outCharset 
    = Charset.forName("UTF-8");
       
       
    //CharsetDecoder inDecoder = inCharset.newDecoder();
       
    //CharsetEncoder outEncoder = outCharset.newEncoder();

       CharBuffer cb 
    = inCharset.decode(mbb);

       ByteBuffer outbb 
    = outCharset.encode(cb);

       CharSequence str 
    = new String(outbb.array());
       System.out.println(
    "str is :"+str);
    .



     

    posted on 2009-06-04 23:15 江天部落格 閱讀(5025) 評論(0)  編輯  收藏 所屬分類: AndroidJava

    主站蜘蛛池模板: 在线综合亚洲欧洲综合网站| 四只虎免费永久观看| 国产亚洲AV手机在线观看| 亚洲精品第一国产综合亚AV| 免费A级毛片在线播放| 中文字幕无码精品亚洲资源网| 亚洲男人的天堂www| 色窝窝亚洲av网| 中字幕视频在线永久在线观看免费| 亚洲va久久久噜噜噜久久| 国产亚洲精品91| 最新中文字幕电影免费观看| 亚洲一区综合在线播放| 在线观看免费播放av片| 亚洲视频人成在线播放| 羞羞视频免费网站含羞草| 全免费一级毛片在线播放| 亚洲日韩国产精品无码av| 色老头永久免费网站| 亚洲中文字幕乱码熟女在线| 国产免费拔擦拔擦8x| 两个人的视频www免费| 亚洲精品在线观看视频| 久久久久免费看黄A片APP| 香港一级毛片免费看| 国产av天堂亚洲国产av天堂| 在线观看免费视频资源| 亚洲精品天堂成人片AV在线播放 | 免费看美女让人桶尿口| 美女隐私免费视频看| 亚洲av中文无码乱人伦在线咪咕| 免费A级毛片无码A∨ | 亚洲AV日韩综合一区尤物| 又大又黄又粗又爽的免费视频| 你懂的网址免费国产| 亚洲中文字幕无码av在线| 国产一区二区三区无码免费| 久久久久久AV无码免费网站| 亚洲熟妇无码一区二区三区| 亚洲精品白浆高清久久久久久 | 又粗又大又猛又爽免费视频|