powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Чтение txt-файла по строкам
6 сообщений из 6, страница 1 из 1
Чтение txt-файла по строкам
    #38506950
NDAleksey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток. Есть код:

Код: java
1.
2.
3.
4.
5.
6.
7.
final String FILE_NAME = "d:\\CSV_Files\\test1.txt";
Reader reader = new FileReader( new File( FILE_NAME ) );
BufferedReader bufferedReader = new BufferedReader( reader );
String line;

while ( ( line = bufferedReader.readLine() ) != null )
	System.out.println( line );



Читает файл по строкам. Но как обойтись без BufferReader-а, чтобы весь файл в память не грузить?
...
Рейтинг: 0 / 0
Чтение txt-файла по строкам
    #38506964
_newcomer_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NDAlekseyНо как обойтись без BufferReader-а, чтобы весь файл в память не грузить?
Что в вашем понимании "весь" и почему вам не нравится несколько килобайт данных в памяти?
...
Рейтинг: 0 / 0
Чтение txt-файла по строкам
    #38506974
NDAleksey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_newcomer_NDAlekseyНо как обойтись без BufferReader-а, чтобы весь файл в память не грузить?
Что в вашем понимании "весь" и почему вам не нравится несколько килобайт данных в памяти?

Код: java
1.
BufferedReader bufferedReader = new BufferedReader( reader );



Что выполняет эта инструкция? почему - файл может быть огромный (условие ТЗ)
...
Рейтинг: 0 / 0
Чтение txt-файла по строкам
    #38506993
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BufferedReader не грузит весь файл в память. Только одну строку. Если у вас строки длинной в мегабайты, то тогда да - лучше вместо строк читать меньшими порциями.
...
Рейтинг: 0 / 0
Чтение txt-файла по строкам
    #38507006
NDAleksey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczBufferedReader не грузит весь файл в память. Только одну строку. Если у вас строки длинной в мегабайты, то тогда да - лучше вместо строк читать меньшими порциями.

т.е. если я Вас правильно понимаю, "килобайтная" строка грузится через 512 байтный буфер:
Код: java
1.
BufferedReader bufferedReader = new BufferedReader( reader, 512 );


так?
...
Рейтинг: 0 / 0
Чтение txt-файла по строкам
    #38507013
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NDAleksey,

Ну, примерно так.

Из InputStream можно читать либо посимвольно, либо через блоками через byte[].
Чтение через byte[] усложняет код. Зачастую обрабатывать код посимвольно намного проще.
Но посимвольное чтение, например из FileInputStream, очень сильно бъет по производительности.
BufferedInputStream прячет от клиентского кода детали работы с byte[] буфером, но позволяет читать посимвольно без потери производительности.

Reader это аналог InputStream для чтения данных. Соответсвенно BufferedReader реализует почти такую же оптимизацию, только для "символьного" потока.

Это всё очевидно, если просто заглянуть в исходый код используемых классов.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Чтение txt-файла по строкам
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]