java bufferedreader чтение из файла

По сути у меня есть метод, который считывает слова из файла и записывает в массив. Пример текстового файла:

www mail login password
www1 mail1 login1 password1

но я хочу понимать, какие слова на новой строке, а какие нет, подскажите как это сделать, сейчас мой код выглядит так.

1 ответ 1

Я бы использовал обычный file и Scanner, если вам нужно просто считать строки из текстового файла и вывести их в консоль. Примерно так:

Если нужно считать русские слова из файла, откройте файл в бинарном режиме, а после того, как поработайте с ним — закройте с помощью метода

Если нужно считать каждый символ в строке

Всё ещё ищете ответ? Посмотрите другие вопросы с метками java файлы или задайте свой вопрос.

Похожие

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2019 Stack Exchange Inc; пользовательское содержимое попадает под действие лицензии cc by-sa 4.0 с указанием ссылки на источник. rev 2019.11.15.35459

При работе с файлами в Java очень часто нужно выполнять операции чтения данных. Именно поэтому сегодня мы рассмотрим различные способы прочитать файл в Java.

Читаем информацию с файла. Теория

  1. В Java есть класс java.nio.file.Files , который позволяет прочитать все содержимое файла в массив байтов или считать все строки в список. Класс Files был введен в Java 7 и отлично подходит, если нам нужно загрузить все содержимое файла. Следует отметить важный момент: желательноиспользовать этот метод только тогда, когда работаем с небольшими файлами, так как все содержимое это файла будет в памяти.
  2. Класс java.io.FileReader . Мы можем использовать FileReader, чтобы получить BufferedReader, а затем считывать файлы построчно. FileReader не поддерживает кодировку и работает с кодировкой системы по умолчанию, так что это не очень эффективный способ чтения файла в Java, но все же имеет право на жизнь.
  3. Класс java.io.BufferedReader отлично подходит для чтения файла построчно и дальнейшей обработки считанной информации. Он очень хорошо справляет с обработкой больших файлов и поддерживает кодировку файла. BufferedReader является синхронизируемым, а поэтому значит, что операции чтения с помощью BufferedReader можно безопасно выполнять из нескольких потоков. Размер буфера BufferedReader по умолчанию составляет 8 Кбайт.
  4. Класс java.util.Scannerотлично подходит для чтения файла построчно. Сканер разбивает входные данные на лексемы используя разделитель, который по умолчанию соответствует пробелу. Полученные лексемы могут быть затем преобразованы в значения разных типов с использованием различных методов. Сканер не синхронизирован, следовательно, не потокобезопасный.

Ниже представлен класс на Java для чтения содержимого файла с помощью Scanner, Files, BufferedReader с поддержкой кодировки и FileReader :

Для чтения содержимого файла используется класс BufferedReader . Использовать его довольно просто:

Как видим, здесь выбрасывается масса исключений и нужно заботиться о том, что BufferedReader закрылся после окончания чтения. В Java 7 ввели конструкцию try-with-resource , которая позволяет упростить работу с ресурсами:

Оцените статью