Java FileWriter 类
提示
- 字符数据写入:
FileWriter
类用于将字符数据写入文件,扩展自OutputStreamWriter
类。 - 创建 FileWriter:可以通过文件名或文件对象创建
FileWriter
实例,Java 11 之后还可以指定字符编码。 - FileWriter 方法:提供
write()
方法用于写入字符、字符数组或字符串,getEncoding()
获取编码类型,以及close()
方法用于关闭写入器。
java.io
包中的 FileWriter
类可用于将数据(以字符为单位)写入文件。
它扩展了 OutputStreamWriter
类。
在深入了解 FileWriter
之前,请确保您了解 Java 文件。
创建 FileWriter
为了创建文件写入器,我们首先必须导入 Java.io.FileWriter
包。导入包后,以下是我们如何创建文件写入器的方法。
1. 使用文件的名称
FileWriter output = new FileWriter(String name);
在这里,我们创建了一个文件写入器,它将链接到由 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 = "这是输出文件中的数据";
try {
// 创建 FileWriter
FileWriter output = new FileWriter("output.txt");
// 将字符串写入文件
output.write(data);
// 关闭写入器
output.close();
}
catch (Exception e) {
e.getStackTrace();
}
}
}
在上述示例中,我们创建了一个名为 output
的文件写入器。该输出写入器与 output.txt 文件关联。
FileWriter output = new FileWriter("output.txt");
为了将数据写入文件,我们使用了 write()
方法。
运行程序时,output.txt 文件将填充以下内容。
这是文件中的一行文本。
getEncoding() 方法
getEncoding()
方法可以用来获取用于写入数据的编码类型。例如,
import java.io.FileWriter;
import java.nio.charset.Charset;
class Main {
public static void main(String[] args) {
String file = "output.txt";
try {
// 创建一个使用默认编码的 FileWriter
FileWriter output1 = new FileWriter(file);
// 创建一个指定编码的 FileWriter
FileWriter output2 = new FileWriter(file, Charset.forName("UTF8"));
// 返回写入器的字符编码
System.out.println("output1 的字符编码: " + output1.getEncoding());
System.out.println("output2 的字符编码: " + output2.getEncoding());
// 关闭写入器
output1.close();
output2.close();
}
catch(Exception e) {
e.getStackTrace();
}
}
}