掌握 Java FileWriter:写字符到文件完全教程
掌握 Java FileWriter:写字符到文件完全教程
FileWriter 位于 java.io,是向文件写文本的直接工具。继承 OutputStreamWriter,默认用平台字符编码,除非显式设置。
创建 FileWriter
导入类:
import java.io.FileWriter;
创建方式:
- 按文件名
FileWriter output = new FileWriter("output.txt"); - 按 File 对象
File file = new File("output.txt"); FileWriter output = new FileWriter(file); - 显式字符集(Java 11+)
FileWriter output = new FileWriter("output.txt", StandardCharsets.UTF_8);
指定字符集确保跨平台行为一致。
FileWriter 关键方法
write()
write(int c)– 写单字符write(char[] cbuf)– 写字符数组write(String str)– 写字符串
示例:写文本到文件
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 writer = new FileWriter("output.txt")) {
writer.write(data);
} catch (Exception e) {
e.printStackTrace();
}
}
}
运行后创建 output.txt,内容:
This is the data in the output file
getEncoding()
getEncoding() 显示 writer 使用的字符集:
import java.io.FileWriter;
import java.nio.charset.StandardCharsets;
public class Main {
public static void main(String[] args) {
try {
FileWriter defaultWriter = new FileWriter("output.txt");
FileWriter utf8Writer = new FileWriter("output.txt", StandardCharsets.UTF_8);
System.out.println("Default encoding: " + defaultWriter.getEncoding());
System.out.println("UTF-8 encoding: " + utf8Writer.getEncoding());
defaultWriter.close();
utf8Writer.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
输出:
Default encoding: Cp1252
UTF-8 encoding: UTF-8
用 Charset.forName() 或 StandardCharsets 确保编码名可靠。
提示: 参考官方 Java FileWriter 文档 深入了解。
close()
始终关闭 FileWriter(或用 try-with-resources)刷新缓冲区并释放资源。关闭后不可复用。
其他实用方法
| 方法 | 描述 |
|---|---|
flush() | 立即将缓冲数据写入底层流 |
append() | 便捷追加字符或字符串到 writer |
完整方法列表见官方 Java FileWriter API。
java
- 深入理解 Java final 关键字:变量、方法与类的不可变性
- Java instanceof 运算符完全指南:用法、继承与接口检查
- 精通 Java 继承:核心概念、类型与实战示例
- 深入理解 Java 静态嵌套类:用法、差异与实战示例
- 精通 Java 匿名内部类:定义、语法与实战示例
- Java 单例模式详解:安全实现与使用指南
- 精通 Java 反射:运行时检查类、方法与字段
- 精通 Java ArrayList:操作、方法与最佳实践
- 掌握 Java ObjectOutputStream:序列化、核心方法与实战示例
- 掌握 Java BufferedReader:高效字符流处理实战指南
- 掌握 Java 泛型:构建可复用、类型安全的代码
- 掌握 Java 文件操作:java.io 包下的创建、读取、写入与删除