字节流(输入流,输出流)输入流是强调读。输出流强调写。和常识有点相反啊
字符流(输入流 输出流)
字节:为b(0或1)
1B=8b;一次可以读写一个字节
字符
1字符=2字节=16位,一次可以写一个字符
字节流:抽象类
InputStream 读 输入流
OutputStream 写 输出流
实现类:抽象类不能直接new,所以要一个实现类去实现抽象方法
***InputStream
***OutputStream
FileInputStream|FileOutputStream 文件流
DataInputStream|DataOutputStream 数据流
BufferednputStream|BufferedOutputStream 缓冲流
PipedInputStream|PipedOutputStream 管道流
字符流:
Reader 读
Writer 写
实现类:
FileReader|FileWriter 文件流
DataInputStream|DataOutputStream 数据流
BufferedReader|BufferedWriter 缓冲流
PipedInputStream|PipedOutputStream 管道流
InputStreamReader|OutputStreamWriter转换流
按照流的处理单位来分:字节流,字符流
按照流的方向来分:输入流(读)输出流(写)
InputStream|outputStream提供主要方法
InputStream
a,int i = in.read();表示读了一个字节,然后无符号填充到了一个int类型的低八位,高位补零即可
B,byte[] b=new nyte[1024*10]
Int bytes=in.read(b);表示一次性读,将督导的内容放到b数组中,此时,b中放的是督导的具体内容.返回的是,真正读到的字节数.
C,int bytes=in.read(b,int start,int size );表示一次性读,将读到的内容放大b数组汇总,从数组的start位置开始放,放一个size的长度
outputSteam
写一个字节,将int数据的低八位写入到指定文件中
将数组b的内容一次性写入到out对象所表示的文件中
将数组b的内容一次性写到out对象表示蒂文建,从start位置读内容然后写到文件写size个
然后,关闭流/closed()
对于大的内容,还是要一次性的读
DataInputStream|DataOutputStream 数据流
DataInputStream(new InputStream的实现类) InputStream in =new FileInputStream(“”)
DataInputStream(new FileInputStream(“D:”))这是读的一个操作啊
同理:写的操作
DataOutputStream(new FileOutputStream(“D:”))这是写的一个操作啊
常用方法
.writeInt()
.readInt()
BufferedInputStream|BufferedOutputStream
缓冲流基本介绍
缓冲区是内存中的一块区域,从缓冲区中读写内容时速度要高于从磁盘操作文件内容.
缓冲区是磁盘与内容的桥梁,可以先将读到内容放到缓冲区,如果要将内容真正写入到文件,还需要刷新缓冲区,才能将内容写入文件(flush())
利用缓冲区想文件中写入内容是,flush(),close().耶可以shuaxin.dans如果不使用flush,应该加close方法.
缓冲区默认的大小是8192字节
BufferedInputStream
BufferedInputStream(InputStream int)后面int是需要缓冲的大小
BufferedOutputStream
管道流
PipedInputStream|PipedOutputStream