OutputStream 字节输出流|学习笔记

简介: 快速学习 OutputStream 字节输出流

开发者学堂课程【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;}

图片40.png


二、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 子类。

图片41.png


三、FileOutputStream子类的构造方法

1、因为最终都需要发生向上转型的处理关系,所以对于此时的 FileOutputStream子类核心的关注点就可以放在构造方法上:

(1)【覆盖】构造方法:public FileOutputStream(File file) throws FileNotFoundException;

(2)【追加】构造方法:public File utputStream(File file, boolean append) throws FileNotFoundException


四、范例:使用 OutputStream 类实现内容输出

图片42.png

注:

(1)本程序是采用了最为标准的形式实现了输出的操作处理,并且在整体的处理之中,只是创建了文件的父目录,但是并没有创建文件,而在执行后会发现文件可以自动帮助用户创建。

(2)由于 OutputStream 子类也属于 AutoCloseable 接口子类,所以对于 close()方法也可以简化使用。

 图片43.png是否使用自动的关闭取决于你项目的整体结构。

相关文章
|
8月前
字节输出流
字节输出流
56 0
|
8月前
字节输入流
字节输入流
43 0
|
8月前
|
存储 Java
字节缓冲流
字节缓冲流
40 0
|
3月前
|
移动开发 Java Linux
IO流:字节输出流FileOutputStream的超详细用法
IO流:字节输出流FileOutputStream的超详细用法
|
7月前
|
C语言 C++ 开发者
C++输入流和输出流介绍
C++ 又可以称为“带类的 C”,即可以理解为 C++ 是 C 语言的基础上增加了面向对象(类和对象)。在此基础上,学过 C 语言的读者应该知道,它有一整套完成数据读写(I/O)的解决方案: 使用 scanf()、gets() 等函数从键盘读取数据,使用 printf()、puts() 等函数向屏幕上输出数据; 使用 fscanf()、fgets() 等函数读取文件中的数据,使用 fprintf()、fputs() 等函数向文件中写入数据。 要知道,C 语言的这套 I/O 解决方案也适用于 C++ 程序,但 C++ 并没有“偷懒”,它自己独立开发了一套全新的 I/O 解决方案,其中就包含
49 0
|
8月前
|
Java
Java IO流之访问文件的字节输入流FileInputStream和字节输入流FileOutputStream的详解
Java IO流之访问文件的字节输入流FileInputStream和字节输入流FileOutputStream的详解
71 0
|
8月前
字节、字符输入输出流
字节、字符输入输出流
33 0
|
8月前
缓冲流与打印流(字节与字符)
缓冲流与打印流(字节与字符)
39 0
|
10月前
|
存储 缓存 Java
【Java I/O 流】字节缓冲流:BufferedInputStream 和 BufferedOutputStream
缓冲流是一个包装流,在创建缓冲流实例时,需要传入底层真实操作的输入或输出流。其主要的作用就是为了提高读写效率而生的。 今天讲的字节缓冲流有两个:`BufferedInputStream` (字节缓冲输入流)和 `BufferedOutputStream` (字节缓冲输出流)。本文会介绍它们的构造函数和一些常用方法,最后使用真实案例来看下字节缓冲流是如何使用的。
106 0
|
10月前
|
存储 缓存 Java
【Java I/O 流】字节输入输出流:InputStream & OutputStream
本篇介绍字节输入输出流,它们是所有字节流的超类,提供了一些常用方法,我们一起看一下。
44 0