java.io
包中的FileOutputStream
类可用于将数据(以字节为单位)写入文件。
它扩展了OutputStream
抽象类。
在学习FileOutputStream
之前,请确保了解Java 文件。
创建 FileOutputStream
为了创建文件输出流,我们必须先导入java.io.FileOutputStream
包。导入包后,我们可以在Java中这样创建文件输出流。
1. 使用文件路径
// Including the boolean parameter
FileOutputStream output = new FileOutputStream(String path, boolean value);
// Not including the boolean parameter
FileOutputStream output = new FileOutputStream(String path);
在这里,我们创建了一个输出流,它将链接到由path指定的文件。
此外,value是一个可选的布尔参数。如果设置为true
,则新数据将追加到文件现有数据的末尾。否则,新数据将覆盖文件中的现有数据。
2. 使用文件对象
FileOutputStream output = new FileOutputStream(File fileObject);
在这里,我们创建了一个输出流,它将链接到由fileObject
指定的文件。
FileOutputStream 方法
FileOutputStream
类提供了OutputStream
类中各种方法的实现。
write() 方法
write()
- 将单个字节写入文件输出流write(byte[] array)
- 将指定数组中的字节写入输出流write(byte[] array, int start, int length)
- 将等于length的字节从start位置开始的数组写入输出流
示例:使用 FileOutputStream 将数据写入文件
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();
// Writes byte to the file
output.write(array);
output.close();
}
catch(Exception e) {
e.getStackTrace();
}
}
}
在上面的示例中,我们创建了一个名为output的文件输出流。该文件输出流与文件output.txt链接。
FileOutputStream output = new FileOutputStream("output.txt");
为了写入数据到文件,我们使用了write()
方法。
这里,当我们运行程序时,output.txt文件将包含以下内容。
This is a line of text inside the file.
注意:程序中使用的getBytes()
方法将字符串转换为字节数组。
flush() 方法
要清空输出流,我们可以使用flush()
方法。此方法强制输出流将所有数据写入目标。例如,
import java.io.FileOutputStream;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
FileOutputStream out = null;
String data = "This is demo of flush method";
try {
out = new FileOutputStream(" flush.txt");
// Using write() method
out.write(data.getBytes());
// Using the flush() method
out.flush();
out.close();
}
catch(Exception e) {
e.getStackTrace();
}
}
}
当我们运行程序时,文件flush.txt将被字符串data
表示的文本填充。
close() 方法
要关闭文件输出流,我们可以使用close()
方法。调用该方法后,我们不能再使用FileOutputStream
的方法。
FileOutputStream 的其他方法
方法 | 描述 |
---|---|
finalize() |
确保调用 close() 方法 |
getChannel() |
返回与输出流关联的FileChannel 对象 |
getFD() |
返回与输出流关联的文件描述符 |
欲了解更多信息,请访问Java FileOutputStream (官方Java文档)。