English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
在本教程中,我们将借助示例学习 Java FileWriter 及其方法。
java.io 包的 FileWriter 类可用于将数据(以字符为单位)写入文件。
它继承了 OutputStreamWriter 类。
在进一步了解 FileWriter 之前,请确保了解Java File.
为了创建文件写入器,我们必须首先导入 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(); } } }
在上面的示例中,我们创建了一个名为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 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()); // Close reader output1.close(); output2.close(); } catch(Exception e) { e.getStackTrace(); } } }
Output Result
output1character encoding: Cp1252 output2character encoding: UTF8
In the above example, we created2file writers, named output1and output2.
output1No character encoding is specified. Therefore, the getEncoding() method returns the default character encoding.
output2Specify Character EncodingUTF8. Therefore, the getEncoding() method returns the specified character encoding.
Note: We have specified the type of character encoding using the Charset.forName() method.
To close the file writer, we can use the close() method. Once the close() method is called, the writer cannot be used to write data.
Method | Description |
---|---|
flush() | Force all data existing in the writer to be written to the corresponding destination |
append() | Insert the specified character into the current writer |