亂碼這個(gè)要從兩方面來(lái)處理扮饶,首先是源頭搂蜓,由于HADOOP默認(rèn)的中文編碼是UTF-8漏策,因此最好我們上傳的文件的編碼格式也設(shè)置成UTF-8胁镐。
接著就是下載了
FSDataInputStream inputStream = hdfsService.open("/xxx/test.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); // 解決亂碼
String line = null;
StringBuffer sb = new StringBuffer();
while((line = reader.readLine())!=null){
System.out.println(line);
sb.append(line);
}
如果直接用inputStream.readLine()來(lái)讀取,就會(huì)又亂碼情況霸株,需要用InputStreamReader來(lái)進(jìn)行一次轉(zhuǎn)譯雕沉。