------- android培训、java培训、期待与您交流! ----------
IO流用来处理设备之间的数据传输。
按照操作的数据分为:字符流和字节流。
按照流向分为:输入流和输出流。
字节流两个基类:
InputStream OutputStream
字符流两个基类:
Reader Writer
字符流的缓冲区:
缓冲区的出现提高了对数据的读写效率:
bufferedReader:bufferedreader.readline()读取的是行上的有效数据,不包括换行。
原理是:先在内存中开辟一个数组,然后读取到换行符的时候,将前面的数据一起拿过来。
bufferedwriter:bufferedwriter。newline()可以换行。
缓冲区的出现是为了提高流的操作效率而出现的,所以在创建缓冲区之前,必须要有流对象。
linenumberreader:带行号的bufferedreader,有setlinnumber,getlinenumber方法。
fileInputStream 有一个available()方法,可以得到共有的数据的字节数。
字节流缓冲区的原理:
转换流:InputStreamReader
键盘录入的最常见写法:BufferedReader bufr = new bufferedreader(new inputstreamreader(system。in))
流操作的基本规律:
通过两个明确来完成:
1,明确源和目的,
源:输入流:InputStream READER
目的:输出流:OUTPUTSTREAM WRITER
2.操作的数据时纯文本:
是:字符流
不是:字节流
3.当体系明确后,再明确要使用哪个具体的对象
通过设备来进行区分
源设备:内存,硬盘,键盘
目的设备:内存,硬盘,控制台