Re: [問題] 處理UTF-8 BOM問題的Stream
※ 引述《JohnnyDell (強尼戴爾)》之銘言:
: Update:
: 最後改用別的solution了 因為原本那招也卡在
: OutputStream就是進不去CSV2TableLayout..
: 改用 org.apache.commons.io.input.BOMInputStream
: 在一開始從servlet讀進來的Stream就直接exclude掉BOM
: 不過缺點是只能處理UTF-8 BOM,對於UTF-16跟UTF-32就一樣會被炸到
你需要開兩次stream..
ServletFileUpload已經把上傳放進檔案了,
所以你可以開兩次去處理
第一次判斷BOM.. 用你的BOMInputStream就可以判斷了
第二次再重開Stream.
有BOM的Skip兩個bytes
再丟到你要的那個Class的contructor
沒有得就直接處理.
然後我剛剛看你的那個class
在判斷encoding後
再用setCharset去設定charset
例如"UTF-16BE" 或 "UTF-16LE" 或 "UTF-8"
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.46.230
※ 文章網址: http://www.ptt.cc/bbs/java/M.1402986612.A.663.html
※ 編輯: popcorny (118.163.46.230), 06/17/2014 14:34:50
推
06/18 21:25, , 1F
06/18 21:25, 1F
推
06/18 21:42, , 2F
06/18 21:42, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
java 近期熱門文章
PTT數位生活區 即時熱門文章