Я пишу программу, которая ищет слова в текстовом файле (скажем B) в другом текстовом файле словаря (например, A), чтобы сравнить эффективность различных алгоритмов сортировки.Java - Невозможно прочитать специальные символы из текстового файла
В любом случае, моя проблема в том, что в одном из этих исходных текстовых файлов есть специальный символ, такой как «μ». Прежде всего, чтобы сохранить текстовый файл с таким символом в окнах, блокнот говорит, что мне нужно изменить кодировку из ANSI на что-то еще, например UTF-8.
Моя программа выходит из строя, когда встречает линию со специальным символом. В частности, в момент, когда это слово сравнивается со словом в другом текстовом файле словаря, используя метод compareTo. Он выходит из строя с помощью NullPointerException.
Я напечатал специальный символ, чтобы увидеть, что «μ» представляется как «Âμ», и странные символы всегда присутствуют на первой строке («ï» ¿»).
Я использую сканер для ввода имени файла:
inputStream = new Scanner (new FileInputStream(args[0]));
Я попробовал FileReader, а
В общем, как бы я читал специальные символы или слова, содержащие специальные символы? И будут ли эти персонажи совместимы со встроенным методом compareTo или мне придется найти другой способ их заказа?
Я думаю, что вы показываете слишком мало кода. (arg [0] выглядит как параметр для «public static void main (String [] args)» для меня. Вы вызываете свою программу с параметром?) –
yes, args [0] - это имя файла – user929404