读写文件:
用字节流来做:
普通的
一次读一个字节
一次读一个字节数组
一次读全部字节
高效的
一次读一个字节
一次读一个字节数组
一次读全部字节
用字符流来做:
IO流
基本概述:
不同设备间的数据传输。
流的形式。
操作流的类全在IO包下。
使用IO流的步骤:
使用前,导包
使用时,处理异常。
使用后,释放资源。
面试题:
1、flush() 和 close()的区别:
2、流的异常处理:
JDK1.6及以前
JDK1.7以后
分类:
按操作分:
字节流:
可以处理任何类型的数据
InputStream
字节输入流
分类:
普通的字节输入流:
FileInputStream
public int read(); 一次读一个字节,读不到返回-1.
问:为什么上边这个方法的返回值是int类型?
public int read(byte[] bys)
public int available(); 获取要读取的文件的所有字节数
理解
高效的字节输入流:
BufferedInputStream
内置缓冲区:8192字节
读写中文:
读:
可能读到半个中文,会出现乱码。
写:
注意转成其对应的字节数组
OutputStream
字节输出流
分类:
普通的字节输出流:
FileOutputStream
成员方法:
write(int ch)
write(byte[] bys);
write(byte[] bys,int index,int length)
构造方法:
FileOutputStream(String path)
追加数据?
高效的字节输出流:
BufferedOutputStream
内置缓冲区:8192字节
字符流
只能处理纯中文的文件
Reader
字符输入流
Writer
字符输出流
按流向分:
输入:
读取
输出:
写
读写文件:
用字节流来做:
普通的
一次读一个字节
一次读一个字节数组
一次读全部字节
高效的
一次读一个字节
一次读一个字节数组
一次读全部字节
用字符流来做:
基本概述:
不同设备间的数据传输。
流的形式。
操作流的类全在IO包下。
使用IO流的步骤:
使用前,导包
使用时,处理异常。
使用后,释放资源。
面试题:
1、flush() 和 close()的区别:
2、流的异常处理:
JDK1.6及以前
JDK1.7以后
分类:
按操作分:
字节流:
可以处理任何类型的数据
InputStream
字节输入流
分类:
普通的字节输入流:
FileInputStream
public int read(); 一次读一个字节,读不到返回-1.
问:为什么上边这个方法的返回值是int类型?
public int read(byte[] bys)
public int available(); 获取要读取的文件的所有字节数
理解
高效的字节输入流:
BufferedInputStream
内置缓冲区:8192字节
读写中文:
读:
可能读到半个中文,会出现乱码。
写:
注意转成其对应的字节数组
OutputStream
字节输出流
分类:
普通的字节输出流:
FileOutputStream
成员方法:
write(int ch)
write(byte[] bys);
write(byte[] bys,int index,int length)
构造方法:
FileOutputStream(String path)
追加数据?
高效的字节输出流:
BufferedOutputStream
内置缓冲区:8192字节
字符流
只能处理纯中文的文件
Reader
字符输入流
Writer
字符输出流
按流向分:
输入:
读取
输出:
写 |