English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этом руководстве мы будем изучать Java FileWriter и его методы с помощью примеров.
Класс FileWriter пакета java.io можно использовать для записи данных (в виде символов) в файл.
Он наследует класс OutputStreamWriter.
Прежде чем углубляться в FileWriter, убедитесь, что вы понимаетеJava файл.
Чтобы создать файловый写入итель,我们必须 сначала импортировать пакет 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 предоставляет реализации различных методов,出现的Writer классе.
write() - записывает один символ в写入器
write(char[] array) - записывает символы из указанного массива в写入器
write(String data) - записывает указанную строку в写入器
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() может быть использован для получения типа кодировки символов, используемой для записи данных. Например,
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() данные writer больше не могут быть записаны.
Метод | Описание |
---|---|
flush() | Принудительно записать все данные, существующие в записывателе, в соответствующее место назначения |
append() | Вставить указанный символ в текущий записыватель |