Java 中的 FileOutputStream。
java 8object oriented programmingprogramming更新于 2025/11/20 8:44:17
这会将数据写入特定文件或文件描述符(逐字节)。它通常用于使用原始字节写入文件内容,例如图像。
要使用此类 − 写入文件内容
首先,您需要通过传递字符串变量或 File 对象来实例化此类,表示要读取的文件的路径。
FileOutputStream outputStream = new FileOutputStream("file_path");
或者,
File file = new File("file_path"); FileOutputStream outputStream = new FileOutputStream (file);
您还可以通过传递 FileDescriptor 对象来实例化 FileOutputStream 类。
FileDescriptor descriptor = new FileDescriptor(); FileOutputStream outputStream = new FileOutputStream(descriptor);
然后使用 write() 方法的任一变体将数据写入指定文件 −
int write(int b) − 此方法接受单个字节并将其写入当前 OutputStream。
int write(byte[] b) −此方法接受一个字节数组作为参数,并将数据从中写入当前OutputStream。
int write(byte[] b, int off, int len) −此方法接受一个字节数组、其偏移量(int)及其长度(int)作为参数,并将其内容写入当前OutputStream。
示例
假设我们在目录 D:/images
中有以下图像
以下程序读取上述图像的内容并使用 FileOutputStream 类将其写回另一个文件。
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileInputStreamExample {
public static void main(String args[]) throws IOException {
//创建 File 对象
File file = new File("D:/images/javafx.jpg");
//创建 FileInputStream 对象
FileInputStream inputStream = new FileInputStream(file);
//创建字节数组
byte bytes[] = new byte[(int) file.length()];
//将数据读入字节数组
int numOfBytes = inputStream.read(bytes);
System.out.println("数据已成功复制...");
//创建 FileInputStream 对象
FileOutputStream outputStream = new FileOutputStream("D:/images/output.jpg");
//将输出流的内容写入文件
outputStream.write(bytes);
System.out.println("数据已成功写入...");
}
}
输出
数据已成功复制... 数据已成功写入...
如果您验证给定的路径,您可以观察到生成的图像如下 −


