鍍金池/ 問答/Java/ Java 中如何轉換文件編碼格式?

Java 中如何轉換文件編碼格式?

java 讀一個文件,utf-16le 格式,里面都是手機號碼

multipart 形參讀進來之后

String line;
br = new BufferedReader(new FileReader(file));
while ((line = br.readLine()) != null) {
   。。。
   
   

發(fā)現(xiàn) line 是數(shù)字和亂碼相間的一個字符串

把文件在 linux 下用 vim 轉換為 utf-8 格式就沒問題

請問這種情況,如果用戶上傳的不是 utf-8 格式的文件,

譬如是這種 utf-16le 格式或者其他格式的

java 中如何轉換文件編碼格式?


我用了這種方案

            DataInputStream in = new DataInputStream(new FileInputStream(file));
    br= new BufferedReader(new InputStreamReader(in,"utf-8"));

可是不管用,依然亂碼

回答
編輯回答
夏木
2017年8月27日 16:37
編輯回答
兔囡囡

br= new BufferedReader(new InputStreamReader(in,"utf-8"));
你這是以utf-8的格式打開文件 而不是轉成udf-8
你得以utf-16的格式打開 然后在以utf-8寫

2017年11月13日 00:48