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

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

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

    少年阿賓

    那些青春的歲月

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks
    完美的解決方法從辟謠開始:
    1)JDOM是否生成UTF-8的文件與Format是否設置無關,只有輸出其他字符編碼才需要設置,見下面的注釋。
    2)JDOM輸出UTF-8文件亂碼的根本原因并非在JDOMAPI,而是在JDK。
    具體描述:
        JDOM的輸出類XMLOutputter有兩個output接口,除了都具有一個Document參數外,分別接受Writer和 OutputStream參數。
        這給我們一個錯覺,兩個接口可以任意使用。
        首先我們用output(doc,System.out)來做測試,此時得到亂碼,
          然后我們改為output(doc,new PrintWriter(System.out))來測試,輸出不是亂碼,
          也就是說在控制臺的時候一定要用一個Writer接口包裝一下。
         然后我們用output(doc,new FileWriter(path))來做測試,結果卻得到亂碼,
          然后我們改為output(doc,new FileOutputStream(path))來測試,輸出不是亂碼,
          也就是說在輸出文件的時候一定要用一個OutputStream接口包裝一下。
         瘋了吧?呵呵,很搞笑是吧。經過到JDOM的源碼中調試,發現沒有任何問題,問題出在了JDK里面。
    JDK內的對應接口處理:
    1)PrintWriter類有參數為OutputStream的構造方法,因此可以從System.out包裝到PrintWriter
    2)FileWriter類沒有參數為OutputStream的構造方法,因此不能從FileOutputStream包裝到 FileWriter
    3)如果PrintWriter類用了參數為Writer的構造方法(Writer實現為FileWriter),最后輸出也是亂碼
    4)如果用一個FileOutputStream來包裝一個控制臺輸出,也是亂碼
    因此,對于JDK內的各種輸出體系,各種InputStream、OutputStream、reader和writer要充分認識,否則極容易出現一些意想不到的問題。


    posted on 2012-08-15 09:34 abin 閱讀(680) 評論(0)  編輯  收藏 所屬分類: JDOM
    主站蜘蛛池模板: 毛片无码免费无码播放| 亚洲伦乱亚洲h视频| 国产成人精品日本亚洲语音| 亚洲午夜成人精品电影在线观看| 日本视频免费高清一本18| 亚洲成A人片在线播放器| 亚洲成A人片在线观看中文| 日韩精品免费视频| 亚洲人成人无码.www石榴| 亚洲精品无码久久一线| 毛片免费vip会员在线看| 91视频免费观看| 亚洲精品第一综合99久久| 亚洲中文字幕无码一久久区| 免费无码A片一区二三区| 羞羞视频免费网站在线看| 亚洲中文字幕一区精品自拍| 亚洲情XO亚洲色XO无码| 日本成人在线免费观看| 最近中文字幕mv免费高清在线| 黄网站色视频免费看无下截| 亚洲精品91在线| 国产亚洲人成A在线V网站| 久久WWW色情成人免费观看| 暖暖日本免费中文字幕| 免费视频成人国产精品网站| 亚洲毛片基地日韩毛片基地| 国产亚洲人成A在线V网站| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 亚洲国产精品免费观看 | 亚洲一级毛片免费在线观看| 国产精品免费αv视频| 亚洲日本成本人观看| 精品亚洲A∨无码一区二区三区| 亚洲欧洲精品成人久久曰影片| 日韩免费精品视频| 免费观看成人久久网免费观看| 免费人成视频在线播放| 亚洲AV第一成肉网| 亚洲中文无码卡通动漫野外| 99久久精品国产亚洲|