<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()

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

    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 江天部落格 閱讀(5036) 評論(0)  編輯  收藏 所屬分類: Android 、Java

    主站蜘蛛池模板: jzzijzzij在线观看亚洲熟妇| 国产日产亚洲系列| 久久久亚洲AV波多野结衣| 久草免费福利在线| 久久精品国产亚洲精品| fc2免费人成在线| 亚洲色欲久久久综合网| 最好免费观看高清在线 | 偷自拍亚洲视频在线观看| 成人黄动漫画免费网站视频 | 全部免费毛片在线播放| 亚洲男人第一av网站| 久久精品一本到99热免费| 亚洲香蕉免费有线视频| 又粗又大又黑又长的免费视频| 亚洲天堂一区在线| 毛片视频免费观看| 国产成人高清亚洲一区久久| 亚洲精品视频在线看| a毛片全部免费播放| 亚洲精品视频专区| 好大好硬好爽免费视频| 午夜成人无码福利免费视频| 亚洲综合国产一区二区三区| 久久国产精品免费视频| 亚洲成人午夜电影| 国产成人无码免费视频97 | 男女污污污超污视频免费在线看| 亚洲精品视频免费观看| 一区二区三区观看免费中文视频在线播放 | 成年私人影院免费视频网站| 美女18毛片免费视频| 亚洲不卡av不卡一区二区| 无码国产精品一区二区免费式直播| 亚洲Av永久无码精品黑人| 亚洲中文字幕无码永久在线| av大片在线无码免费| 免费视频精品一区二区| 精品日韩亚洲AV无码一区二区三区| 国产精品无码免费播放| 中国极品美軳免费观看|