OutputStream (字节流写出)
OutputStream (字节流写出)
java.io.OutputStream
是字节流输出流的父类,而且是抽象类。所以不能创建对象,
OutputStream常用实现类的继承关系
- java.lang.Object
java.io.OutputStream
java.io.FileOutputStream
java.io.BufferedOutputStream
OutputStream的常用实现类2个: FileOutputStream和BufferedOutputStream
OutputStream共性方法: (子类通用)
返回值 | 方法 | 说明 |
---|---|---|
void | close() | 关闭此输出流并释放与此流有关的所有系统资源。(关闭前会flush) |
void | flush() | 刷新此输出流并强制写出所有缓冲的输出字节。 |
void | write(byte[] b) | 将 b.length 个字节从指定的 byte 数组写入此输出流。 |
void | write(byte[] b, int off, int len) | 将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此输出流。 |
abstract void | write(int b) | 将指定的字节写入此输出流。 |
FileOutputStream子类
构造方法
方法 | 说明 |
---|---|
FileOutputStream(File file) | 传入一个File对象 |
FileOutputStream(String name) | 传入一个文件路径字符串 |
FileOutputStream(File file, boolean append) | 传入一个File对象, append取值: true: 追加 false: 覆盖 默认false |
FileOutputStream(String name, boolean append) | 传入一个文件路径字符串, append取值: true: 追加 false: 覆盖 默认false |
使用实例:
try {
// 1. 创建对象--默认是覆盖模式, 也可以改成追加模式
String path = "D:\\DEV\\eclipse\\workspace\\day13\\testOut.txt";
// 加上true就是追加, 否则是覆盖
OutputStream out = new FileOutputStream(path, true);
// 第二种创建方式
// OutputStream out = new FileOutputStream(new File(path));
// 2. 开始写出
out.write(97);
out.write(98);
out.write(99);
// 3. 释放资源
out.close();
} catch (IOException e) {
e.printStackTrace();
}
BufferedOutputStream子类
该类实现缓冲的输出流。比FileOutputStream更加高效
构造器
方法 | 说明 |
---|---|
BufferedOutputStream(OutputStream out) | 一般传入一个FileOutputStream |
使用实例:
try {
// 1. 创建对象
String path = "D:\\DEV\\eclipse\\workspace\\day13\\testOut.txt";
OutputStream out = new BufferedOutputStream(
// 加上true就是追加, 否则是覆盖
new FileOutputStream(path,true)
);
// 2. 开始写入
out.write(97);
out.write(98);
out.write(99);
// 3. 关闭资源
out.close();
} catch (IOException e) {
e.printStackTrace();
}