尚学堂IO_各种简单整理

发现IO流这块 自己看了好几次 但是一到要用 还是什么都不知道怎么用 决定简单的整理一下

 

 

说明
File 文件类
InputStream 字节输入流
OutputStream 字节输出流
Reader 字符输入流
Writer 字符输出流
Closeable 关闭流接口
Flushable 刷新流接口
Serializable 序列化接口

 

US-ASCII 即英文的ASCII码

UTF-8 变长Unicode字符 ( 1-3 字节 ),

国际通用 UTF-16BE 定长Unicode字符 ( 2 个字节 ),

大端Big-endian表示 UTF-16LE 定长Unicode字符

小端Big-endian表示 UTF-16 文件中开头指定大端还是小端表示方式, 

在解码的时候,容易出现乱码,乱码的原因有一下两个 1.字节数不够2.字符集不统一

IO标准步骤 

1.​创建源

2.选择流

3.操作

4.释放

存储在硬盘上的资源:这些资源Java虚拟机是无权访问的,必须借助操作系统。当使用完之后,必须人为的通知Java虚拟机去释放资源

FileInputStream:通过字节的方式读取文件,适合读取所有类型的文件

FileOutputStream:通过字节的方式写出或追加数据到文件,适合所有类型的文件

FileReader:通过字符的方式读取文件,适合字符文件。

FileWriter: 通过字符的方式写出或追加数据到文件中,适合字符文件。

 

在电脑上的一块内存,所以这一块资源可以由Java的垃圾回收器来释放资源。所以不用手动释放。释放也没关系,因为这里的close()方法是一个空方法。

数组流:ByteArrayInputStream      ByteArrayOutputStream

 

 

字节缓冲流: BufferedOutputStream      BufferedInputStream

字符缓冲流:​ BufferedReader      BufferedWriter

数据流:DataInputStream      DataOutputStream 用来方便我们处理8大基本数据类型和字符串的。说的简单即是它不光保留我们的数据,还保留我们的数据类型。方便我们后期直接获取该数据类型,不用强转了。

转换流:​ IputStreamReader      OutputStreamWriter    字节流转换为字符流,并且指定字符集

其中InputStreamReader为解码,OutputStreamWriter为编码。

对象流: ObjectInputStream      ObjectOutputStream ​ 对象流,既可以操作基本数据类型,字符串,还可操作对象。

打印流:PrintStream      PrintWriter 

操作网络流:openStream

posted @ 2020-12-28 20:29  冰糖葫芦很乖  阅读(86)  评论(0编辑  收藏  举报