Java中的FileOutputStream
类是Java IO包中的一个重要类,它用于将数据写入文件系统中的文件。。
一、FileOutputStream类概述
-
作用:
FileOutputStream
类用于向文件写入数据,它继承自OutputStream
类。 -
特点:
FileOutputStream
类以字节为单位进行写入,适用于写入二进制文件。 -
使用场景:当需要向本地文件系统中的文件写入数据时,可以使用
FileOutputStream
类。
二、FileOutputStream类构造方法
FileOutputStream
类提供了以下构造方法:
-
FileOutputStream(String name)
:通过文件路径名创建FileOutputStream
对象。 -
FileOutputStream(File file)
:通过File
对象创建FileOutputStream
对象。 -
FileOutputStream(String name, boolean append)
:通过文件路径名创建FileOutputStream
对象,并指定是否追加数据。 -
FileOutputStream(File file, boolean append)
:通过File
对象创建FileOutputStream
对象,并指定是否追加数据。
三、FileOutputStream类常用方法
-
void write(int b)
:将指定的字节写入此文件输出流。 -
void write(byte[] b)
:将b.length
个字节从指定的字节数组写入此文件输出流。 -
void write(byte[] b, int off, int len)
:将len
个字节从指定的字节数组写入此文件输出流,从偏移量off
开始。 -
void flush()
:刷新此输出流并强制写出所有缓冲的输出字节。 -
void close()
:关闭此文件输出流并释放与此流相关的任何系统资源。 -
以下是一个使用
FileOutputStream
类的代码例子及详解:
import java.io.FileOutputStream;
import java.io.IOException;
public class FileOutputStreamExample {
public static void main(String[] args) {
// 定义文件路径
String filePath = "output.txt";
// 创建FileOutputStream对象
FileOutputStream fos = null;
try {
// 创建FileOutputStream对象,不追加数据
fos = new FileOutputStream(filePath);
// 要写入的字符串
String content = "Hello, World!";
// 将字符串转换为字节数组
byte[] bytes = content.getBytes();
// 将字节数组写入文件
fos.write(bytes);
// 输出提示信息
System.out.println("文件已写入:" + filePath);
} catch (IOException e) {
// 异常处理
e.printStackTrace();
} finally {
// 关闭文件输出流
if (fos != null) {
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
以上代码演示了如何使用FileOutputStream
类写入数据到文件。以下是对代码的详细解释:
- 导入
java.io.FileOutputStream
和java.io.IOException
类。 - 创建
FileOutputStreamExample
类,包含main
方法。 - 定义文件路径变量
filePath
。 - 创建
FileOutputStream
对象fos
,并将其初始化为null
。 - 使用
try-catch-finally
语句块处理异常和资源释放。 - 在
try
块中,使用filePath
创建FileOutputStream
对象fos
。 - 定义要写入的字符串
content
。 - 将字符串
content
转换为字节数组bytes
。 - 使用
write
方法将字节数组bytes
写入文件。 - 输出提示信息,表示文件已写入。
- 在
catch
块中,捕获并处理IOException
异常。 - 在
finally
块中,判断fos
是否为null
,如果不为null
,则调用close
方法关闭文件输出流。 以上代码展示了如何将一个字符串写入到文件中。