Java открыть текстовый файл

Java открыть текстовый файл

Хотя с помощью ранее рассмотренных классов можно записывать текст в файлы, однако они предназначены прежде всего дл работы с бинарными потоками данных, и их возможностей для полноценной работы с текстовыми файлами недостаточно. И для этой цели служат совсем другие классы, которые являются наследниками абстрактных классов Reader и Writer .

Запись файлов. Класс FileWriter

Класс FileWriter является производным от класса Writer. Он используется для записи текстовых файлов.

Чтобы создать объект FileWriter, можно использовать один из следующих конструкторов:

Так, в конструктор передается либо путь к файлу в виде строки, либо объект File, который ссылается на конкретный текстовый файл. Параметр append указывает, должны ли данные дозаписываться в конец файла (если параметр равен true), либо файл должен перезаписываться.

Запишем в файл какой-нибудь текст:

В конструкторе использовался параметр append со значением false — то есть файл будет перезаписываться. Затем с помощью методов, определенных в базовом классе Writer производится запись данных.

Чтение файлов. Класс FileReader

Класс FileReader наследуется от абстрактного класса Reader и предоставляет функциональность для чтения текстовых файлов.

Для создания объекта FileReader мы можем использовать один из его конструкторов:

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

Также мы можем считывать в промежуточный буфер из массива символов:

В данном случае считываем последовательно символы из файла в массив из 256 символов, пока не дойдем до конца файла в этом случае метод read возвратит число -1.

Есть определенная кнопка. Когда пользователь нажимает на нее, должен открыться определенный текстовый файл. Для этого нужно создавать новый jFrame с jTextArea на нем, или это по другому реализуется? Подскажите, пожалуйста.

Читайте также:  Эскизы графиков функций примеры

1 ответ 1

При этом предполагается, что в THE_FILE содержится адрес файла, который необходимо прочитать, а JavaApplication — имя главного класса.

Я не могу понять, насколько я прав в этой программе:

В сообщении об ошибке указано, что файл не найден, но я знаю, что файл уже существует. Нужно ли сохранять файл в специальной папке?

Ошибка "notepad encypt.me.txt" . Поскольку ваш файл имеет имя "encypt.me.txt", вы не можете поставить "блокнот" перед своим именем. Кроме того, файл с именем "notepad encypt.me.txt", вероятно, не существует или не является тем, который вы хотите открыть.

Кроме того, вы должны указать путь (абсолютный или относительный) вашего файла, если он не находится в папке проекта.

Я приму гипотезу, что вы находитесь в системе Microsoft Windows.

Если ваш файл имеет абсолютный путь "C:fooarencypt.me.txt", вам нужно передать его как "C:\foo\bar\encypt.me.txt" или как "C:"+File.separatorChar+"foo"+File.separatorChar+"bar"+File.separatorChar+encypt.me.txt" .

Если он все еще не работает, вы должны убедиться, что файл:

1) Существуют на указанном пути. Вы можете сделать это, используя следующий фрагмент кода:

Если указанный путь является правильным, он должен быть прав.

2) Может быть прочитан приложением

Вы можете сделать это, используя следующий фрагмент кода:

Если у вас есть разрешение на чтение файла, оно должно быть истинным.

Ссылка на основную публикацию
Adblock detector