簡體   English   中英

如何不讀取ASCII文件?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM