Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как считывать файл, пока в нем есть символы?

i'm Nasten'ka Ученик (125), закрыт 4 года назад
У меня не останавливается при условии br.read()!=-1
https://ideone.com/LBWzuY - код моей попытки
Вывод:
Лучший ответ
H-p A Просветленный (46817) 4 года назад
Здесь цикл вообще не нужен, потому что есть такой метод:
https://docs.oracle.com/javase/7/docs/api/java/io/BufferedReader.html#read(char[], int, int)

получается так:

int n = 2000;
char[] arr = new char[n];
int readen = br.read(arr, 0, n);
all = new String(arr, 0, readen);

ИСПРАВИЛ ОТВЕТ
i'm Nasten'kaУченик (125) 4 года назад
Да, действительно. Спасибо за помощь
Остальные ответы
Голова Робота Просветленный (36328) 4 года назад
У тебя два чтения файла: одно проверяет на конец файла, но теряет прочитанный символ. Другое не теряет прочитанный символ, но не проверяет на конец файла.
Ещё ошибка в условии while: summ !=2000 или не конец файла.

Функция stringToArray, судя по её названию, должна принимать строку и возвращать массив. Вместо этого функция считывает файл и выводит его на экран. Такую функцию надо было назвать printFile, у неё должен быть параметр - имя файла. Лучше чтоб функция только считывала файл и возвращала его содержимое.
i'm Nasten'kaУченик (125) 4 года назад
Спасибо
Похожие вопросы