[英]How to read not ASCII file?
我有一個帶有西里爾文符號的txt文件。 這是我的讀法:
String csvFile = "C:\\Users\\dolgopolov.a\\Desktop\\Список рассылки 14 07 2014.txt";
BufferedReader br = null;
String line = "";
String cvsSplitBy = "\t";
try {
br = new BufferedReader(new FileReader(csvFile));
while ((line = br.readLine()) != null) {
// use comma as separator
String[] country = line.split(cvsSplitBy);
System.out.println("Номер: " + country[0]
+ " , Сообщение: " + country[1] + "");
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
但是輸出很奇怪:
Номер: 9047120386 , Сообщение: ��������� �������! �� ����� ����� ������� ������������� � ������� 2,98 ���., ������� ���������� �������� � ������� 3 ����
那么,我該如何避免呢? 我是否需要更改編碼類型或其他內容?
FileReader
使用默認編碼,因此您必須使用InputStreamReader
new InputStreamReader(new FileInputStream(filePath), encoding)
StreamReader sr =新的StreamReader(stream,Encoding.Unicode);
要么
已轉換的字符串= Encoding.BigEndianUnicode.GetString(dataArray); dataArray在哪里,您的字節數組
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.