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
10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!
后台回复【面试】即可获取《史上最全阿里Java面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》