Java FileOutputStream 类全面指南:构造器、核心方法与实战示例
Java FileOutputStream 类
FileOutputStream 位于 java.io,用于向文件写入原始字节数据。继承抽象 OutputStream,是二进制文件操作的关键类。
创建 FileOutputStream
导入类后用文件路径或 File 对象实例化。
1. 使用文件路径
// 带追加标志
FileOutputStream output = new FileOutputStream(String path, boolean append);
// 不带追加标志
FileOutputStream output = new FileOutputStream(String path);
append 为 true 追加到文件末尾,false 覆盖原内容。
2. 使用 File 对象
FileOutputStream output = new FileOutputStream(File fileObject);
FileOutputStream 关键方法
write()
write(int b)– 写单字节write(byte[] b)– 写整个字节数组write(byte[] b, int off, int len)– 从偏移off写len字节
示例:写文本到文件
import java.io.FileOutputStream;
public class Main {
public static void main(String[] args) {
String data = "This is a line of text inside the file.";
try {
FileOutputStream output = new FileOutputStream("output.txt");
byte[] array = data.getBytes();
output.write(array);
output.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
运行后创建 output.txt,内容为上述句子。getBytes() 将字符串转为 UTF-8 字节。
flush()
flush() 强制将缓冲字节立即写入文件,确保数据持久化再关闭流前。
import java.io.FileOutputStream;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
FileOutputStream out = new FileOutputStream("flush.txt");
String data = "This is demo of flush method";
out.write(data.getBytes());
out.flush();
out.close();
}
}
close()
调用 close() 后流不可用,释放资源并确保文件句柄释放。
FileOutputStream 其他方法
| 方法 | 描述 |
|---|---|
finalize() | 垃圾回收器调用以保证 close() 被执行 |
getChannel() | 返回关联的 FileChannel 供高级文件操作 |
getFD() | 获取底层文件描述符 |
深入参考官方 Java FileOutputStream 文档。
java
- 深入理解 Java final 关键字:变量、方法与类的不可变性
- Java instanceof 运算符完全指南:用法、继承与接口检查
- 精通 Java 继承:核心概念、类型与实战示例
- 深入理解 Java 静态嵌套类:用法、差异与实战示例
- 精通 Java 匿名内部类:定义、语法与实战示例
- Java 单例模式详解:安全实现与使用指南
- 精通 Java 反射:运行时检查类、方法与字段
- 精通 Java ArrayList:操作、方法与最佳实践
- Java Stack 类全面指南:用法、核心方法与实战示例
- 掌握 Java ObjectOutputStream:序列化、核心方法与实战示例
- 掌握 Java 泛型:构建可复用、类型安全的代码
- 掌握 Java 文件操作:java.io 包下的创建、读取、写入与删除