Как сделать запись в файл в Java
Опубликованно 13.02.2018 00:31
При написании программ на языке Java, рано или поздно встанет необходимость читать и записывать данные в файл. Для этого языка имеются следующие средства для ввода и вывода данных: класс Writer для записи и Чтения для чтения. Наследники этих классов являются классы FileWriter и FileReader, удобнее работать непосредственно с файлами. Простой пример записи в файл в Java
Прежде чем создать точку входа в программу, необходимо прописать импорт (классы находятся в библиотеке java.я*, прописать одну звезду, потому что в будущем нужны другие классы из этой библиотеки). Импорт в редакторе должен иметь такой вид:
import java.io.*;
Затем, внутри произвольный класс пишем метод main, который, в свою очередь, создает экземпляр класса FileWriter и писать в переменную write:
FileWriter writer = new FileWriter("text.txt");
При выполнении этой программы будет создан файл text.txt в корне проекта. Для того, чтобы что-нибудь записать в этот файл, вы должны сделать ссылку на метод write() класса Writer, метод write() принимает в качестве аргумента строку написать что-то:
writer.write("пример записи в файл в Java");
При работе с i / o данных, вы также должны учитывать исключительных ситуациях, по причине того, что не всегда мы знаем, что будет в этих данных. Компилятор не потерять этот код без особой конструкции бросает Exception, чтобы вставить в сигнатуру метода 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.сепаратор класса System. В примере вы видите, как этот метод записи переменной lineSeparator, который затем может быть использован в качестве аргумента в метод write():
String lineSeparator = System.getProperty("line.separator");
Для того, чтобы сделать вывод, код будет выглядеть так, как показано ниже.
Результат выполнения этого кода заключается в следующем: в файле text.txt когда тройной запуске программы отображаются строки "пример записи в Java".
Категория: обо всём