IO流简介
来源:互联网 发布:淘宝联盟怎么样提现 编辑:程序博客网 时间:2024/04/28 01:12
IO流学习总结:
一、IO流的概念:
源于unix中的管道(pipe)的概念,管道是一条不间断的字符流,用来实现程序或进程间的通信,或读写外部设备,外部文件等。一个流必须有源端和目的端,它们是计算机内存的某些区域,也可是磁盘文件,甚至是internet的上的某个url。
二、IO流的分类:
按照数据流向可分为:输入流、输出流
按照处理数据的大小:字节流、字符流
按照实现数据的功能:节点流、处理流
输出流和输入流都是从程序的角度来说的;
字节流:一次读入或读出数据的单位是: 8位的二进制
字符流:一次读入或读出数据的单位是:16位的二进制
字节流和字符流的原理相同,只是他们独处和读入的单位不一样。字节流的后缀名是:Stream 而字符流的后缀名是Writer和Reader.
直接使用节点流,读写不方面,为了更快的读写文件,才有了处理流。
处理流:与节点流一块使用,在节点流的基础上,再套接一层,套接在接口上的就是处理流。
三、IO流的操作规律总结
1、明确体系:
数据源:IuputStream, Reader
数据汇:OutputStream,Writer
2、明确数据:因为数据分为两种:字节和字符
数据源:是纯文本吗
是:Reader
否:IuputStream
数据汇:
是:Writer
否:OutputStream
到这里时我们已经明确具体使用哪一种体系了,剩下的就是明确使用哪个对象了。
3、明确设备:
数据源:
键盘:System.in
硬盘:Filexxx
内存:Array【】
网络:socket socket.getinputStream();
数据汇:
控制台:System.out
硬盘:Filexxx
内存:Array【】
网络:socket socket.getoutputStream();
4、明确额外功能:
需要转换吗 是,使用转换流。InputStreamReader OutputStreamWriter
需要高效吗 是,使用缓冲区。Buffered
需要其他吗
----------------------------------------------------------------------------------------------------------------
目前为止,10个流对象重点掌握的有:
字符流:
FileReader
FileWriter
BufferedReader
BufferedWriter
InputStreamReader
OutputStreamWriter
字符流:
FileInputStream
FileOutputStream
BufferedInputStream
BufferedOutputStream
IO中的其他功能流对象:
四、IO流其他
1,打印流:
PrintStream:字节打印流。
特点:
1,构造函数接收File对象,字符串路径,字节输出流。意味着打印目的可以有很多。
2,该对象具备特有的方法 打印方法 print println,可以打印任何类型的数据。
3,特有的print方法可以保持任意类型数据表现形式的原样性,将数据输出到目的地。
对于OutputStream父类中的write,是将数据的最低字节写出去。
PrintWriter:字符打印流。
特点:
1,当操作的数据是字符时,可以选择PrintWriter,比PrintStream要方便。
2,它的构造函数可以接收 File对象,字符串路径,字节输出流,字符输出流。
3,构造函数中,如果参数是输出流,那么可以通过指定另一个参数true完成自动刷新,该true对println方法有效。
什么时候用?
当需要保证数据表现的原样性时,就可以使用打印流的打印方法来完成,这样更为方便。
保证原样性的原理:其实就是将数据变成字符串,在进行写入操作。
- IO流简介
- C++IO流简介
- IO流简介
- IO流简介
- Java IO流简介
- Java IO流-IO 流简介
- IO流简介及方法
- IO简介
- Java Io流 框图 及简介
- java常用IO流简介(一)
- java常用IO流简介(二)
- Java IO简介
- IO::Socket简介
- Socket.IO 简介
- Java IO简介
- java IO简介
- JAVA IO/NIO简介
- objc.io简介
- update更新两个字段
- 本页面切换窗口
- 周末的好时光用来做什么
- Java使用IO类库读取文本
- 数据结构
- IO流简介
- iOS 文件/文件夹 压缩封装方法
- 一个工作了10年的程序员对IT行业的总结
- Javascript(ECMAScript) 对象类型
- 【拓扑排序】poj 1094 Sorting It All
- 简洁是智慧的灵魂,冗长是肤浅的藻饰
- python报错之解决 No module named win32com.client
- erlang服务器通用框架
- 直接拿来用!最火的Android开源项目(一)