символ, взятый из .csv файла проблема редактирования Java - PullRequest
1 голос
/ 04 июля 2011

У меня проблема ....

Я создал Java-программу, которая выполняет следующие действия:

BufferedReader  input = new BufferedReader(new FileReader("test.csv"));
String line = input.readLine();
int lenghtOfLine=line.length();
char[] lineIndex=new char[lenghtOfLine];
lineIndex=line.toCharArray();

Теперь я делаю несколько проверок в цикле for, например us if(lineIndex[i]=='|') or 'M'и некоторые другие проверки таким же образом ...

Проблема в том, что программа все работает правильно на Windows 7, Vista, XP (английский и греческий), когда я пытаюсь запустить его на Windows Vista ( Немецкий ) кажется, что проверка lineIndex[i]=='|' всегда ложна ** почему это происходит?Файл test.csv такой же, и я уверен, что '|'существует в каждой строке ..

Есть ли проблема с Unicode или что-то ??

как я могу заставить эту программу работать на всех языках

Файл test.csv всегда загружается из Интернета

Извините за мой английский.Заранее спасибо ..

1 Ответ

2 голосов
/ 04 июля 2011

API указывает, что FileReader будет предполагать, что используется кодировка символов по умолчанию для машины, на которой он работает.

Если вы знали, что CSV был в кодировке UTF-8, вы можете попробовать:

FileInputStream fis = new FileInputStream("test.csv");
InputStreamReader isr = new InputStreamReader(fis, "UTF-8"); 
BufferedReader input = new BufferedReader(isr);
...