Как осуществить запись в файл в Java
Опубликованно 08.04.2018 02:18
При написании программ на языке Java, рано или поздно, возникает потребность в чтении и записи информации в файл. Для этого в языке предусмотрены следующие инструменты для ввода и вывода данных: класс Writer для записи и Reader, чтобы читать. Наследники этих классов является класс FileWriter и FileReader, удобный, чтобы работать напрямую с файлами. Простой пример записи в файл в Java
Перед тем, как создать точку входа в программу, необходимо закрепить импорта (необходимые классы находятся в библиотеке java.io*, сама звездочка, потому что в будущем будет больше классов библиотеки). Импорт в редакторе должна выглядеть так:
import java.io.*;
Затем внутри произвольного класса, мы пишем метод main, в котором, в свою очередь, мы создаем экземпляр класса FileWriter и запоминаем в переменной write:
FileWriter writer = new FileWriter("text.txt");
При запуске этой программы, она создаст файл text.txt в корне проекта. Чтобы что-то написать в этот файл, нужно вызвать метод write() класса Writer, метод write() получает в качестве аргумента строку, писать там что-то:
writer.write("пример записи в файл в Java");
При работе с введение выходных данных, вы должны также иметь в виду исключительных ситуациях, поскольку мы не всегда знаем, что будет в этих данных. Компилятор не упустите этот код, без особой конструкции throws Exception, который вы хотите вставить в сигнатуру метода main. Также нужно позаботиться о выходной поток, после того, что метод write (), вы должны закрыть поток с помощью метода close(). Как должен выглядеть код в этот момент, показано на рисунке ниже.
При запуске программы в корне проекта появится файл text.txt на что он говорит "пример записи в файл в Java". Тем не менее, этот пример служит только для целей оценки, для применения в "боевых" условиях необходимо провести небольшой рефакторинг. Рефакторинг
Первое, что нужно сделать, это добавить код, ответственный за ввод вывод данных в конструкции try - catch (так легче обрабатывать исключения и применить свои исключения). Затем нужно создать переменную типа File, который может быть написан адрес и имя файла (это полезно, поскольку часто вам нужно работать с несколькими файлами, их помещают в отдельные переменные и обрабатываются в цикл, и только затем результат переменной вводится как параметр в 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".
Категория: Hi-Tech