首页 > 其他分享 >Android 讀取.txt文件出現亂碼的解決方案

Android 讀取.txt文件出現亂碼的解決方案

时间:2023-03-20 13:03:12浏览次数:29  
标签:文件 String 解決 出現 static new catch 讀取 txt


其實就一句話:保證你文件的編碼方式和解碼方式一致就可以了。

如果你僅僅是讀取外部的文件,那麼接下來這麼用:

try {
InputStream mInputStream = context.getAssets().open("text2.txt");
BufferedReader mReader = new BufferedReader(new InputStreamReader(
mInputStream, "UTF-8"));

mReadResult = mReader.readLine();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}




不過對於ANSI格式的文件現在還沒有找到正確讀取的辦法,摸索中...





如果你先寫入文件,再讀出文件,為了保證編碼的一致性,接下來這樣用:



public static String encodin = "UTF8"
public static String encodout = "UTF8"
static void writeOutput(String str) {
try {
FileOutputStream fos = new FileOutputStream("test.txt");
Writer out = new OutputStreamWriter(fos, encodout);
out.write(str);
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
static String readInput() {
StringBuffer buffer = new StringBuffer();
try {
FileInputStream fis = new FileInputStream("test.txt");
InputStreamReader isr = new InputStreamReader(fis, encodin);
Reader in = new BufferedReader(isr);
int ch;
while ((ch = in.read()) > -1) {
buffer.append((char)ch);
}
in.close();
return buffer.toString();
} catch (IOException e) {
e.printStackTrace();
return null;
}
}

标签:文件,String,解決,出現,static,new,catch,讀取,txt
From: https://blog.51cto.com/u_5454003/6132600

相关文章