Когда я пытаюсь прочитать текст из файла, основной текст не отображается правильно, используя LineNumberReader
Текст пытается прочитать из файла -
¥ · £ · € · $ · ¢ · ₡ · ₢ · ₣ · ₤ · ₥ · ₦ · ₧ · ₨ · ₩ · ₪ · ₫ · ₭ · ₮ · ₯ · ₹
Пример кода -
FileInputStream fis = null;
try {
fis = new FileInputStream("C:\\Users\\JavaUser4\\Desktop\\checkImort.txt");
InputStreamReader streamReader = new InputStreamReader(fis, "UTF-8");
LineNumberReader reader = new LineNumberReader(streamReader);
String sLine = reader.readLine();
System.out.println(sLine);
} catch (Exception ex) {
} finally {
try {
fis.close();
} catch (IOException ex) {
}
}
Выход -
? ? ? ? ? ? $ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Пожалуйста, помогите правильно прочитать этот текст, используя LineNumberReader
. Я предпочитаю оставаться на LineNumberReader
, потому что я использовал RandomAccessFile
, который был идеальным решением в соответствии с моим требованием
- Открыть файл, содержащий текст в кодировке UTF-8.
- Установить номер строки, с которой нам нужно начать чтение файла.
- Считать 25 строк из текстового файла.
- Получить последнюю позицию смещения.
- Выход.
- Снова откройте файл.
- Установите номер строки, с которой нам нужно начать чтение следующих 25 строк из того же файла.
- Считать 25 строк из текстового файла.
- Получить последнее смещение.
- и т. Д.
Недостаток: RandomAccessFile
не поддерживает кодировку UTF-8, и я перешел на LineNumberReader
, но то же самое происходит и здесь. Пожалуйста, помогите.