Как сделать запись в файл в Java


Опубликованно 12.02.2018 18:10

Как сделать запись в файл в Java

При написании программы на языке Java, рано или поздно, встанет необходимость читать и записывать информацию в файл. Для этого в язык включает в себя средства для ввода и вывода данных: класс Writer для записи и чтения для чтения. Наследники эти классы FileWriter и FileReader, удобно работать непосредственно с файлами. Простой пример записи в файл в Java

Прежде чем создать точку входа в программу, нужно прописать imports (так, что классы находятся в библиотеке java.io*, способствует шестерня, потому что в дальнейшем потребует классов библиотеки). Импорт в редактор должен иметь:

import java.io.*;

Затем внутри произвольного класса пишем метод main, который, в свою очередь, создает экземпляр класса FileWriter и писать в переменную write:

FileWriter writer = new FileWriter("text.txt");

При запуске программы создается файл text.txt в корневом каталоге проекта. Для того, чтобы написать что-нибудь в этом файле, нужно использовать метод write() класса Writer, метод write() принимает в качестве аргумента строку, мы пишем, что-то там:

writer.write("пример записи в файл в Java");

При использовании для ввода выходных данных, вы должны также принимать во внимание исключительные обстоятельства, в связи с тем, что мы не всегда знаем, что будет в этих данных. Компилятор не пропустит этот код без специальной конструкции бросает Исключение вставить в сигнатуру метода main. Также нужно позаботиться о выходе из потока, после метод write (), вы должны закрыть поток с помощью метода close(). Как должен выглядеть код на этом этапе, как показано на рисунке ниже.

При запуске программы в корне проекта появится файл text.txt в котором будет написано "пример записи в файл в Java". Тем не менее, этот пример приведен только в ознакомительных целях, чтобы применить его в "бой", нужно пройти немного реструктуризации. Рефакторинг

Первое, что вы должны сделать, это заключить код, ответственный за ввод данных в try - catch (так легче обрабатывать исключения и применять исключения). Затем, вы должны создать переменную типа Файл, где можно написать адрес и имя файла (это удобно, так как часто необходимо работать с несколькими файлами, их помещают в отдельные переменные, и рассматривают жизненный цикл, и только потом переменная вставляется в качестве параметра в FileWriter).

Также хорошая практика при работе с потоками ввода/вывода считается использование буфера (класс FileWriter доступа к диску, если данных много, это может потребовать много памяти, поэтому разумно обрабатывать данные, используя буфер обмена), это относится и класс BufferedWriter, и FileWriter записывается в круглых скобках в качестве параметра. Чтобы освободить память для буфера вызывается метод flush(), он может быть переуступлено перед close () метод, теперь код будет выглядеть так, как показано ниже.

Как записать Java в файл построчно

Каждый раз при компиляции этого кода в консоль будет заменить, даже вход. Как сделать, чтобы при запуске программы в файл перезаписан информации построчно? Для этого надо сначала написать ключевое слово true вторым параметром при создании FileWriter:

BufferedWriter writer = new BufferedWriter(new FileWriter(myFile, true));

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

пример записи в Java пример записи в Java пример записи в Java

Простой способ передачи цепи является добавление оператора /n строки аргумента метода write(), однако, этот метод не будет работать в разных операционных системах. Для сохранения файла построчно на различных платформах, вы должны использовать метод line.separator класса System. В следующем примере, мы видим, что этот метод записывается в переменную lineSeparator, что затем можно использовать в строковом аргументе метода write():

String lineSeparator = System.getProperty("line.separator");

В конечном итоге код будет, как показано ниже.

Результатом этого кода является следующее: в файле text.txt с тройной запуске линии", пример записи в Java".


banner14

Категория: Техника