English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной учебник Java

Java Управление потоком

Java Массивы

Java Ориентированность на объекты (I)

Java Ориентированность на объекты (II)

Java Ориентированность на объекты (III)

Обработка исключений Java

Java Список (List)

Java Queue (очередь)

Java Map коллекции

Java Set коллекции

Java Вход/Выход (I/O)

Java Reader/Writer

Другие темы Java

Java FileWriter класс

В этом руководстве мы будем изучать Java FileWriter и его методы с помощью примеров.

Класс FileWriter пакета java.io можно использовать для записи данных (в виде символов) в файл.

Он наследует класс OutputStreamWriter.

Прежде чем углубляться в FileWriter, убедитесь, что вы понимаетеJava файл.

Создание FileWriter

Чтобы создать файловый写入итель,我们必须 сначала импортировать пакет Java.io.FileWriter. После импорта пакета можно создать файловый写入итель.

1. Использование имени файла

FileWriter output = new FileWriter(String name);

Здесь мы создаем файловый写入итель, который будет связан с указанным именем файла.

2. Использование объекта файла

FileWriter input = new FileWriter(File fileObj);

Здесь мы создаем файловый写入итель, который будет связан с файлом, указанным объектом файла.

В примере выше данные хранятся с использованием某些 стандартных кодировок символов.

Но с Java 11, мы также можем указать тип кодировки символов (UTF8илиUTF16)

FileWriter input = new FileWriter(String file, Charset cs);

Здесь мы используем класс Charset для указания кодировки символов файла写入ителя.

Методы FileWriter

Класс FileWriter предоставляет реализации различных методов,出现的Writer классе.

Метод write()

  • write() - записывает один символ в写入器

  • write(char[] array) - записывает символы из указанного массива в写入器

  • write(String data) - записывает указанную строку в写入器

Пример: FileWriter записывает данные в файл

import java.io.FileWriter;
public class Main {}}
  public static void main(String args[]) {
    String data = "This is the data in the output file";
    try {
      //Создать FileWriter
      FileWriter output = new FileWriter("output.txt");
      //Записать строку в файл
      output.write(data);
      //Закрывать writer
      output.close();
    }
    catch (Exception e) {
      e.getStackTrace();
    }
  }
}

В上面的 примере мы создали файловый запись writer с именем output. Читатель и запись связаны сoutput.txtСсылка на файл.

FileWriter output = new FileWriter("output.txt");

Чтобы записать данные в файл, мы используем метод write().

Здесь, когда мы запускаем программу,output.txtФайл будет заполнен следующим содержимым.

This is a line of text inside the file.

Метод getEncoding()

Метод getEncoding() может быть использован для получения типа кодировки символов, используемой для записи данных. Например,

import java.io.FileWriter;
import java.nio.charset.Charset;
class Main {
  public static void main(String[] args) {
    String file = "output.txt";
    try {
      //Создать FileReader с помощью mặc định кодировки
      FileWriter output1 = new FileWriter(file);
      //Создать FileReader с указанной кодировкой
      FileWriter output2 = new FileWriter(file, Charset.forName("UTF8"));
      //Возвратить кодировку символов читателя
      System.out.println("output1 кодировка символов: " + output1.getEncoding());
      System.out.println("output2 кодировка символов: " + output2.getEncoding());
      // Закрывать reader
      output1.close();
      output2.close();
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

Результат вывода

Кодировка символов output1: Cp1252
Кодировка символов output2: UTF8

В примере выше мы создали 2 файловых записывателя, соответственно命名为 output1 и output2.

  • output1 не указать кодировку символов. Таким образом, метод getEncoding() возвращает стандартную кодировку символов.

  • output2 указать кодировку символовUTF8. Таким образом, метод getEncoding() возвращает указанную кодировку символов.

Внимание: Мы уже использовали метод Charset.forName() для указания типа кодировки символов.

Метод close()

Чтобы закрыть файловый записыватель, мы можем использовать метод close(). После вызова метода close() данные writer больше не могут быть записаны.

Другие методы FileWriter

МетодОписание
flush()Принудительно записать все данные, существующие в записывателе, в соответствующее место назначения
append()Вставить указанный символ в текущий записыватель