开发者学堂课程【Java 高级编程:OutputStream 字节输出流】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/20/detail/310
OutputStream 字节输出流
目录:
一、OutputStream 字节输出流
二、OutputStream 类的三个内容输出的方法
三、FileOutputStream 子类的构造方法
四、范例:自动关闭处理
一、OutputStream字节输出流
1、字节的数据是以 byte 类型为主实现的操作,在进行字节内容输出的时候可以使用 OutputStream 类完成,这个类的基本定义如下:
Public abstract class OutputStream extends Object implements Closeable,Flushable.
2、首先可以发现这个类实现了两个接口,于是基本的对应关系如下:
(1)Closeable
Public interface Closeable extends AutoCloseable{public void close()throws IOException;}
(2)
Flushable
Public interface Flushable{
Public void flush() throws IOException;}
二、OutputStream 类的三个内容输出的方法
1、OutputStream 类定义的是一个公共的输出操作标准,而在这个操作标准里面,一共定义有三个内容输出的方法:
No |
方法名称 |
类型 |
|
01 |
public abstract void write(int b) throws IOException ; |
普通 |
输出单个字节数据 |
02 |
public void write(byte[] b) throws IOException |
普通 |
输出一组字节数据 |
03 |
public void write(byte[] b, int off, int len) throws IOException |
普通 |
输出部分字节数据 |
2、注意:
(1)但是需要注意的一个核心问题在于: OutputStream 类毕竟是一个抽象类,而这个抽象类如果想要获得实例化对象,按照认识应该通过子类实例的向上转型完成。
(2)如果说现在要进行的文件处理操作,则可以使用 FileOutputStream 子类。
三、FileOutputStream子类的构造方法
1、因为最终都需要发生向上转型的处理关系,所以对于此时的 FileOutputStream子类核心的关注点就可以放在构造方法上:
(1)【覆盖】构造方法:public FileOutputStream(File file) throws FileNotFoundException;
(2)【追加】构造方法:public File utputStream(File file, boolean append) throws FileNotFoundException
四、范例:使用 OutputStream 类实现内容输出
注:
(1)本程序是采用了最为标准的形式实现了输出的操作处理,并且在整体的处理之中,只是创建了文件的父目录,但是并没有创建文件,而在执行后会发现文件可以自动帮助用户创建。
(2)由于 OutputStream 子类也属于 AutoCloseable 接口子类,所以对于 close()方法也可以简化使用。
是否使用自动的关闭取决于你项目的整体结构。