IO流
来源:互联网 发布:沙特知乎 编辑:程序博客网 时间:2024/06/06 20:51
流的分类
从流的内容的数据分为
字节流——字符流
从流的分工分为
节点流——装饰流(不直接操作文件,装饰节点流)
从流的方向分为
输入流——输出流
基本概念
输入是数据流入程序,输入对应读取
输出是数据从数据流出,输出对应写入
IO
NIO
NIO流与IO流的区别是通道没有方向,中间有个缓冲区,IO流是一个字节一个字节传输的,而NIO流是一块一块传输到缓冲区,再一块块从缓冲区取出,NIO的通道没有方向
常用的字节流和字符流
InputStream直接或间接子类
{
FileInputStream:用于读取诸如图像数据之类的原始字节流
FilterInputStream(装饰流):{
BufferedInputStream:缓冲输入流 效率高
为达高效率:BufferedInputStream in = new BufferedInputStream(new FileInputStream(new File()));
DataInputStream(处理流):数据输入流 可读取Java基本数据类型
}
ByteArrayInputStream:字节数组读取流(了解)
ObjectInputStream:对用ObjectOutputStream写入的基本数据和对象进行反序列化
可以用来读取对象,但该对象必须是序列化的!(实现java.io.Serializable接口)
例:Person p = (Person)ois.readObject();(Person类必须实现java.io.Serializable接口)
}
OutputStream直接或间接子类(记忆时跟InputStream配对)
{
FileOutputStream:用于写入诸如图像数据之类的原始字节的流
FilterOutputStream{
BufferedOutputStream:缓冲输出流 效率高
DataOutputStream:数据输出流 可写入Java基本数据类型
}
ObjectOutputStream:将Java对象(对象必须是序列化的!)写入OutputStream,可以使用ObjectInputStream重构对象
}
Reader直接或间接子类
{
BufferedReader:缓冲输入流 效率高
InputStreamReader:过渡流 将字节流转换成字符流读取 可指定编码
为达最高效率:BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
FileReader(InputSteamReader子类):读取字符文件的便捷类
}
Writer直接或间接子类(记忆时跟Reader配对)
{
BufferedWriter:缓冲输出流 效率高 newLine()换行
OutputStreamWriter:过渡流 将字符流转换成字节流输出 可指定编码
FileWriter(OutputSteamWriter子类):写入字符文件的便捷类
PrintWriter:向文本输出流打印对象的格式化表示形式
}
{
FileInputStream:用于读取诸如图像数据之类的原始字节流
FilterInputStream(装饰流):{
BufferedInputStream:缓冲输入流 效率高
为达高效率:BufferedInputStream in = new BufferedInputStream(new FileInputStream(new File()));
DataInputStream(处理流):数据输入流 可读取Java基本数据类型
}
ByteArrayInputStream:字节数组读取流(了解)
ObjectInputStream:对用ObjectOutputStream写入的基本数据和对象进行反序列化
可以用来读取对象,但该对象必须是序列化的!(实现java.io.Serializable接口)
例:Person p = (Person)ois.readObject();(Person类必须实现java.io.Serializable接口)
}
OutputStream直接或间接子类(记忆时跟InputStream配对)
{
FileOutputStream:用于写入诸如图像数据之类的原始字节的流
FilterOutputStream{
BufferedOutputStream:缓冲输出流 效率高
DataOutputStream:数据输出流 可写入Java基本数据类型
}
ObjectOutputStream:将Java对象(对象必须是序列化的!)写入OutputStream,可以使用ObjectInputStream重构对象
}
Reader直接或间接子类
{
BufferedReader:缓冲输入流 效率高
InputStreamReader:过渡流 将字节流转换成字符流读取 可指定编码
为达最高效率:BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
FileReader(InputSteamReader子类):读取字符文件的便捷类
}
Writer直接或间接子类(记忆时跟Reader配对)
{
BufferedWriter:缓冲输出流 效率高 newLine()换行
OutputStreamWriter:过渡流 将字符流转换成字节流输出 可指定编码
FileWriter(OutputSteamWriter子类):写入字符文件的便捷类
PrintWriter:向文本输出流打印对象的格式化表示形式
}
0 0
- 【IO流】IO框架
- IO流呀IO流
- 字符IO&数据流IO&对象流IO
- io流
- io流
- IO流
- IO流
- IO 流
- IO流
- io流
- IO流
- io流
- IO流
- IO流
- IO流
- IO流
- IO流
- IO流
- 菜鸟,大牛和教主,三者的区别
- LTE:Buffer Status Report(BSR)
- std::string的用法 .
- fgdfhgfhgfd
- 关于窗口切分的一些小例子
- IO流
- 聚散随缘,勿忘心安 -- 颜夕溪
- poj 1200 hash
- JSP简明教程(三):JSP隐含对象
- 【自考】网络经济与企业管理(一)——泛读
- linux java tomcat环境变量
- 读博文《二维指针和二维数组可以互用吗?》有感
- Oracle创建删除用户、角色、表空间、导入导出
- tomcat manager