1. 什么是IO技术
输入输出技术 Input Output
将数据,从一个设备存储到另一个设备
数据就像水,从管道一端,流向另一端,IO流技术
IO可以实现互联网的文件上传和下载
2. JAVA中的IO
面向对象的语言,IO技术也封装成对象,IO流对象
所有的IO技术,类都放在java.io包中
对应数据不同,文件不同,流对象出现了
从程序,将输入存储到文件,输出流过程,写文件
从文件,将数据放到程序中,输入流过程,读取文件
3. IO流对象分类
按照操作的文件类型分
字节流
操作文件的时候,每次都是操作单1字节,无论读取还是写入针对1个字节,8个二进制
所有的文件,都是采用字节组成,实现操作所有类型的文件
字符流
非常特殊的文件,文本文件,人类可以直接识别.出现字符流的目的,方便操作文本文件
每次无论读取和写入,操作的1个字符,2个字节,16个二进制,去查询本机默认编码表 GBK兼容ASCII
专门处理文本文件,其他文件不能处理
常见文本文件: 记事本txt java html
按照数据操作方向分类(流向分类)
输出流 Output
从JAVA程序中,写数据出去,用于写文件
输入流 Input
从外部设备,读取文件到JAVA程序中,用于读取文件
字节输出流 - 写任意文件
字节输入流 - 读取任意文件
字符输出流 - 专门写文本文件
字符输入流 - 专门读取文本文件
4. IO流对象中的四大抽象基类
4个类都是抽象类,表示这个派系最顶层的父类
字节输出流抽象基类 -- 写的方法
java.io.OutputStream
写的方法 write
write(int a) 写单个字节
write(byte[] bytes) 写字节数组
write(byte[] bytes,int offset,int length) 写字节数组一部分,开始索引,写几个
close() 释放资源 IO对象读取和写文件依赖操作系统实现
字节输入流抽象基类 -- 读取的方法
java.io.InputStream
读取的方法 read
int read() 读取单个字节
int read(byte[] bytes) 读取字节,存储到数组中
int read(byte[] bytes,int offset,int length) 读取字节,存储数组的一部分中
close() 释放资源
字符输出流抽象基类 -- 写的方法,写文本文件
java.io.Writer
写的方法 write
write(int a) 写单个字符
write(char[] ch) 写字符数组
write(char[] ch,int offset,int length)写字符数组一部分,开始索引,写几个
write(String str) 写字符串
write(String str,int offset,int length)写字符串一部分,开始索引,写几个
flush() 刷新流的缓冲区
close() 释放资源
字符输入流抽象基类 -- 读取的方法,读取文本文件
java.io.Reader
读取的方法 read
int read() 读取单个字符
int read(char[] ch) 读取字符,存储到数组中
int read(char[] ch,int offset,int length) 读取字符,存储到数组中的一部分
close() 释放资源
|
|