Java FileWriter

Класс Java FileWriter предназначен для записи текста в файлы на основе символов с использованием размера буфера по умолчанию. Он использует кодировку символов по умолчанию для платформы, если не указано иное.

FileWriter обычно обернут типами Writer более высокого уровня, такими как BufferedWriter или PrintWriter. FileWriter обеспечивает лучшую производительность и более высокоуровневые, более гибкие методы для записи контента.

1. Класс Java FileWriter

  • FileWriter используется для записи в файлы на основе символов. Передайте требуемую кодировку, если мы не хотим использовать кодировку платформы по умолчанию.
  • FileWriter является частью пакета java.io.
  • FileWriter расширяет абстрактный класс Writer.
  • FileWriter реализует интерфейсы Closeable, AutoCloseable, Flushable и Appendable.
  • FileWriter предоставляет методы для записи в новый файл и добавления в существующий файл.
  • Если мы попытаемся открыть файл, который уже открыт, конструкторы класса FileWriter завершатся ошибкой.

2. Создание FileWriter

Чтобы создать FileWriter, используйте один из его конструкторов. Всем конструкторам понадобится как минимум имя файла или объект File, ссылающийся на файл, в который мы хотим записать текст.

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

String fileName = "dataOut.txt";File file = new File(fileName);// Using file nameFileWriter fw1 = new FileWriter(fileName);// Using File objectFileWriter fw2 = new FileWriter(file);

3. Установка кодировки символов

Если мы хотим записать символы в другой кодировке, то передаем информацию о наборе символов в конструктор FileWriter.

String fileName = "dataOut.txt";File file = new File(fileName);FileWriter fw = new FileWriter(file, Charset.forName("UTF8"));

4. Закрытие FileWriter

Вызвать метод fileWriter.close(), когда мы закончим запись в файл. Или мы можем использовать функцию автоматического закрытия этого класса.

В приведенном примере функция try-with-resources автоматически закроет FileWriter после полного выполнения блока try.

String fileName = "dataOut.txt";try(FileWriter fw= new FileWriter(new File(fileName))) {//Perform operations}

5. Пример Java FileWriter

Давайте рассмотрим несколько примеров записи в файл с помощью FileWriter в Java. В каждом примере мы запишем файл dataOut.txt с содержимым «humpty dumpty».

Пример 1: Создание нового файла и запись в него с помощью FileWriter

В данном примере мы открыли новый файл для записи контента. После выполнения программы создается новый файл dataOut.txt и в него записывается контент «humpty dumpty».

import java.io.File;import java.io.FileWriter;import java.io.IOException;public class FileWriterExample{public static void main(String[] args)throws IOException{String fileName = "dataOut.txt";try(FileWriter fw= new FileWriter(new File(fileName))) {fw.write("humpty dumpty");}}}

Вывод программы:

humpty dumpty

Пример 2: Добавление к существующему файлу с помощью FileWriter

Чтобы добавить в файл, откройте файл в режиме добавления, передав значение true конструктору FileWriter. После открытия файла в режиме добавления используйте различные методы добавления, чтобы добавить тест к существующему содержимому в файле.

package com.howtodoinjava.io;import java.io.File;import java.io.FileWriter;import java.io.IOException;public class FileWriterExample{public static void main(String[] args)throws IOException{String fileName = "dataOut.txt";try(FileWriter fw= new FileWriter(new File(fileName), true)) {fw.append(" sat on a wall");}}}

Вывод программы:

humpty dumpty sat on a wall

Исходный код Скачать

Прокрутить вверх