
Java OutputStream简介
OutputStream是java中的字节输出流,OutputStream用来将文件,或者字符串输出到新的文件中。

在Java中通过程序使用数据流,将数据写入到目的地的称为输出流。
Java OutputStream类图
OutputStream是所有字节输出流的顶层父类,是一个抽象类,如果要用需要使用子类。

1)ByteArrayOutputStream
ByteArrayOutputStream是对byte类型数据进行写入的类,相当于一个中间缓冲层,将类写入到文件等其他outputStream,它是对字节进行操作,属于内存操作流是字节数组输出流。
2)PipedOutputStream
PipedOutputStream是管道输出流,它的作用是让多线程可以通过管道进行线程间的通讯,在使用管道通信时,必须将PipedOutputStream和PipedInputStream配套使用。
3)FileOutputStream
FileOutputStream:是文件输出流,通常用于向文件进行写入操作,其继承OutputStream类。
4)FilterOutputStream
FilterOutputStream是过滤输出流,FilterOutputStream 的作用是用来“封装其它的输出流,并为它们提供额外的功能”。
FilterOutputStream它主要包括BufferedOutputStream, DataOutputStream和PrintStream。
5)ObjectOutputStream
ObjectOutputStream是对象输出流,它和ObjectInputStream一起对基本数据或者对象的持久存储。
Java OutputStream方法
OutputStream这个抽象类定义了常见的方法,如下所示:
>void close()
关闭此输出流并释放与此流有关的所有系统资源。
>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)
将指定的字节写入此输出流。
Java OutputStream示例
public class OutputStreamDemo01{
public static void main(String args[]) throws Exception{ // 异常抛出,不处理
// 第1步、使用File类找到一个文件
File f= new File("d:" + File.separator + "test.txt") ; // 声明File对象
// 第2步、通过子类实例化父类对象
OutputStream out = null ; // 准备好一个输出的对象
out = new FileOutputStream(f) ; // 通过对象多态性,进行实例化
// 第3步、进行写操作
String str = "Hello World!!!" ; // 准备一个字符串
byte b[] = str.getBytes() ; // 只能输出byte数组,所以将字符串变为byte数组
out.write(b) ; // 将内容输出,保存文件
// 第4步、关闭输出流
out.close() ; // 关闭输出流
//文件不存在会自动创建
}
};
关于mikechen
mikechen睿哥,10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。