Я открываю Блокнот (Windows) и пишу
Some lines with special characters
Special: Žđšćč
и перехожу к Сохранить как ..."someFile.txt" с Кодировкой установлен на UTF-8 .
В Java у меня есть
FileInputStream fis = new FileInputStream(new File("someFile.txt"));
InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
BufferedReader in = new BufferedReader(isr);
String line;
while((line = in.readLine()) != null) {
printLine(line);
}
in.close();
Но я получаю знаки вопроса и подобные "специальные" символы.Почему?
РЕДАКТИРОВАТЬ: У меня есть этот вход (одна строка в текстовом файле)
665,Žđšćč
и этот код
FileInputStream fis = new FileInputStream(new File(fileName));
InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
BufferedReader in = new BufferedReader(isr);
String line;
while((line = in.readLine()) != null) {
Toast.makeText(mContext, line, Toast.LENGTH_LONG).show();
Pattern p = Pattern.compile(",");
String[] article = p.split(line);
Toast.makeText(mContext, article[0], Toast.LENGTH_LONG).show();
Toast.makeText(mContext, Integer.parseInt(article[0]), Toast.LENGTH_LONG).show();
}
in.close();
И Toast Вывод (для тех, кто не знаком с Android, Toast - это просто способ показать всплывающее окно на экране с определенным текстом в нем).Консоль показывает «странные символы» (вероятно, из-за кодировки в окне консоли).Но он не может выполнить синтаксический анализ целого числа, потому что консоль говорит это (warning: toast output is just fine
) - Проблема ?
Кажется, что строка содержит некоторые "странные" символы, которые Toast не может показать /рендер но когда я пытаюсь разобрать его, он падает.Предложения?
Если я добавлю ANSI в NotePad, он будет работать (целочисленный синтаксический анализ) и не будет странных символов, как на картинке выше, но, конечно, мои специальные символы не работают.