У меня простой вопрос о методе read()
класса Java.
Документация говорит
Читает один символ. Этот метод будет блокироваться до тех пор, пока символ не станет доступным, не произойдет ошибка ввода-вывода или не будет достигнут конец потока.
Поэтому я пытаюсь преобразовать файл message.txt
в строку и подумал, что read
будет работать хорошо, так как он точно получает каждый символ. В моем текстовом файле есть новая строка, за которой следует сообщение.
message
Я настроил этот код для чтения каждого символа, включая начальную новую строку.
private static String readFile(String file) throws FileNotFoundException,IOException{
FileReader r = new FileReader(file);
String str="";
int ch;
while ((ch=r.read())!=-1)
{
System.out.println((char)ch);
str+=(char)ch;
}
return str;
}
Однако, я получаю дополнительный символ (предположительно из новой строки) в выводе, как показано ниже. Действительно помогло бы, если бы кто-то мог подсказать мне это поведение Reader и что я должен сделать, чтобы заставить его добавить специальный символ.
print char
print char
print char m
print char e
print char s
print char s
print char a
print char g
print char e