Я створюю просту програму підрахунку слів на Java, яка читає текстові файли каталогу.
Однак я продовжую отримувати помилку:
java.nio.charset.MalformedInputException: Input length = 1
з цього рядка коду:
BufferedReader reader = Files.newBufferedReader(file,Charset.forName("UTF-8"));
Я знаю, що, мабуть, отримую це, тому що використовував, Charset
який не включав деякі символи в текстові файли, деякі з яких включали символи інших мов. Але я хочу включити цих персонажів.
Пізніше я дізнався в JavaDocs, що це Charset
є необов’язковим і використовується лише для більш ефективного читання файлів, тому я змінив код на:
BufferedReader reader = Files.newBufferedReader(file);
Але деякі файли все ще видають MalformedInputException
. Не знаю чому.
Мені було цікаво, чи існує все включено, Charset
що дозволить мені читати текстові файли з різними типами символів ?
Дякую.
ISO-8859-1
і це працює добре. Я думаю, що це для європейських персонажів, що добре. Я все ще не знаю, чомуUTF-16
це не працює.