Java io流
来源:互联网 发布:g71编程实例 编辑:程序博客网 时间:2024/05/16 06:25
io流根据数据流向不同分为输入流和输出流,读写操作的执行是以程序为主体来说的,对输入流(即从别的地方来的输入),程序执行读操作,对输出流(输出到别的地方),程序执行写操作,记住四个字“读入写出”。
根据功能的不同分为节点流和处理流,节点流是直接从一个源读写数据的流,如FileInputStream是一个节点流,可以直接从文件读取数据;处理流是在对节点流封装的基础上的一种流,如BufferedInputStream可以包装FileInputStream,使得其有缓冲功能。
根据处理数据类型不同分为字节流和字符流。
字节流:读取单位是字节(1byte=8bit),可以处理任意类型的数据(包括图片,avi),字节流操作是对文件本身的操作,不会用到缓冲区
字符流:读取单位是字符(1char=2byte),只能处理字符类型的数据,字符流是通过缓冲区间接对文件进行操作。
不管流的分类是多么的丰富和复杂,其根源来自于四个基本的类
1输入字节流InputStream
InputStream 是所有的输入字节流的父类,它是一个抽象类。ByteArrayInputStream、StringBufferInputStream、FileInputStream 是三种基本的介质流,它们分别从Byte 数组、StringBuffer、和本地文件中读取数据。
2输出字节流OutputStream
OutputStream 是所有的输出字节流的父类,它是一个抽象类。
3字符输入流reader
4字符输出流writer
字符流和字节流的转换:
从字节流到字符流:InputStreamReader、OutputStreamWriter类可以实现。
从字符流到字节流:可以从字符流中获取char[]数组,转换为String,然后调用String的API函数getBytes() 获取到byte[],然后就可以通过ByteArrayInputStream、ByteArrayOutputStream来实现到字节流的转换。
看一句代码:
BufferedReader in = new BufferedReader(new InputStreamReader(server.getInputStream()));
其中绿色部分为一个字节流,红色部分作用就是将字节流转换为字符流,黄色部分就是能让你一次性读取多个字符
- JAVA【IO一】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 流操作
- 详述JAVA IO流
- C语言中数组的分配和访问
- php压缩与归档扩展总结
- 辗转相除法求最大公约数
- 跟我一起学习VIM - The Life Changing Editor
- jar文件转换成Maven目录
- Java io流
- 无向图的边双联通分量,点双联通分量
- 徒步游记
- Leetcode 278. First Bad Version
- 如何实现推送引导
- 整数奇偶排序
- QT5问题汇总
- dos窗口直接进入指定目录
- Qt在pro中管理多个子项目(子工程)