Java IO分类
来源:互联网 发布:linux运行安卓应用 编辑:程序博客网 时间:2024/06/04 20:21
一、Java IO流
字节输入流
InputStream
数据的来源:byteArray,String,File,Pipe等
硬盘 文件
内存 数据
网络 socket
键盘 System.In
1.各种来源对应的类(节点流)
ByteArrayInputStream
StringInputStream
FileInputStream
PipedInputStream
2.处理流
FilterInputStream
BufferedInputStream
DataInputStream
省略(一般用不到)
字节输出流
OutputStream
数据的去向:byteArray,String,File,Pipe等
数据的去向:
硬盘 文件
内存 数据
网络 socket
控制台 System.Out
1.各种去向对应的流(节点流)
ByteArrayOutputStream 输出到字节数组
FileOutputStream 输出到文件
PipedOutputStream 输出到管道
2.处理流
FilterInputStream 增加属性或功能接口的基类
BufferedOutputStream 增加缓冲功能 flush()方法来刷新缓存,写数据到硬盘等目的地 调用close()方法会内部调用flush()方法
DataOutputStream 方便存储数据
PrintStream 格式化输出数据
字符输入流
Reader
BufferedReader
FilterReader
字符输出流
Writer
FilterWriter
BufferedWriter
PrintWriter
转换流
InputStreamReader
OutputStreamWriter
二、Java IO流分类:
1.按功能分:节点流和处理流
2.按传输方向分:输入流和输出流
3.按数据单位分:字节流和字符流
(一)节点流:节点流从一个特定的数据源读写数据,即节点流是直接操作文件、网络的流
ByteArrayInputStream
StringInputStream
FileInputStream
PipedInputStream
ByteArrayOutputStream
FileOutputStream
PipedOutputStream
CharArrayReader
FileReader (字节流+默认编码)
StringReader
PipedReader
CharArrayWriter
FileWriter (字节流+默认编码)
StringWriter
PipedWriter
(二)处理流:“连接”已存在的流(节点流或处理流),通过对数据的处理为程序提供更强大的功能。
如下:
缓冲流:BufferedInputStream BufferedOutputStream BufferedReader BufferedWriter 增加缓冲功能,提升性能,避免频繁访问硬盘
转换流:InputStreamReader OutputStreamWriter (字节流+编码) 方便字符的读写
对象流:ObjectInputStream ObjectOutputStream 对象持久化
数据流:DataInputStream DataOutputStream 方便处理基本类型数据的读写
格式化输出 PrintStream PrintWriter
三、IO流的操作规律总结
1.明确体系
数据源:InputStream,Reader
数据汇:OutputStream,Writer
2.明确数据
数据源:是否为纯文本?是,Reader,否,InputStream
数据汇:是否为纯文本?是,Writer,否,OutputStream
通过1,2就可以明确具体要使用哪一个体系了,剩下的就是要明确使用这个体系中的哪个对象
3.明确设备
数据源:键盘 System.In
硬盘 FileXXX
内存 数组
网络 socket
数据汇 控制台 System.Out
硬盘 FileXXX
内存 数组
网络 socket
4.明确额外功能
1)需要转换?是,使用转换流
2)需要高效?是,使用缓冲流
3)需要其他
关键名词翻译:
source 数据源
sink 数据汇
- java - io - 分类总结
- java.io分类
- Java 中的IO分类
- Java IO分类
- Java IO流分类整理
- java中的IO流分类
- java IO流的分类和操作
- Java的IO流总结分类
- java基础“IO流及分类”
- Java IO 基本分类简单用法
- java IO流的概念与分类
- java IO流的分类和操作
- Java笔记——IO流分类
- java基础io流的分类
- java IO流的概念与分类
- java中的io流基本分类
- java IO的概念和分类
- Java中IO流分类思维图
- 飞机大战1
- HTML table元素
- Win7存储空间不足怎么办?Win7存储空间不足的两种解决方法
- 读道德经
- windows下Nginx与tomcat组合简单使用
- Java IO分类
- Tensorflow学习:Tensorboard可视化
- JS唤醒Android APP(包括在外部浏览器和WebView)
- 面试常见排序算法(上)
- vue 过度效果1
- 70%的人解决的都是“假问题”
- 搜索-O
- 欧拉筛法分解质因数——vijos1156猩猩散步
- 第一天:web架构熟悉