利用JAVA讀取HDFS文件數(shù)據(jù)時出現(xiàn)亂碼如何解決?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
使用JAVA api讀取HDFS文件亂碼踩坑
想寫一個讀取HFDS上的部分文件數(shù)據(jù)做預覽的接口,根據(jù)網(wǎng)上的博客實現(xiàn)后,發(fā)現(xiàn)有時讀取信息會出現(xiàn)亂碼,例如讀取一個csv時,字符串之間被逗號分割
查閱了眾多博客,解決方案大概都是:使用xxx字符集解碼。抱著不信的想法,我依次嘗試,果然沒用。
解決思路
因為HDFS支持6種字符集編碼,每個本地文件編碼方式又是極可能不一樣的,我們上傳本地文件的時候其實就是把文件編碼成字節(jié)流上傳到文件系統(tǒng)存儲。那么在GET文件數(shù)據(jù)時,面對不同文件、不同字符集編碼的字節(jié)流,肯定不是一種固定字符集解碼就能正確解碼的吧。
那么解決方案其實有兩種
我選用動態(tài)解碼的思路后,其難點在于如何判斷使用哪種字符集解碼。參考下面的內容,獲得了解決方案
java檢測文本(字節(jié)流)的編碼方式
需求:
某文件或者某字節(jié)流要檢測他的編碼格式。
實現(xiàn):
基于jchardet
<dependency> <groupId>net.sourceforge.jchardet</groupId> <artifactId>jchardet</artifactId> <version>1.0</version> </dependency>
網(wǎng)頁標題:利用JAVA讀取HDFS文件數(shù)據(jù)時出現(xiàn)亂碼如何解決-創(chuàng)新互聯(lián)
當前鏈接:http://aaarwkj.com/article24/coeije.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供響應式網(wǎng)站、靜態(tài)網(wǎng)站、移動網(wǎng)站建設、App設計、電子商務、動態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內容