第八章 IO流
1.重点掌握那几种流
字节流:
FileInputStream
FileOutputStream
文件:使用字符流,可以从文件中读取数据,以及向文件中写数据。
FileReader 负责从文件中读取数据
FileWriter 负责把数据写入到文件中
字符缓冲流:
BufferReader 负责把数据写入到文件中
BufferWriter 负责把数据写出到文件中
可以看出,字符流中使用缓冲流,也会有性能的提升,但是没有那么明显,因为 Writer 类中已经
提供了一个默认的缓冲区,也就是说其实 FileWriter 类其实默认已经使用了缓冲区了
字节缓冲流 :
BufferInputStream 负责给字节输入流提供缓冲功能
BufferOutputStream 负责给字节输出流提供缓冲功能
转换流 :
InputStreamReader 可以将字节输入流转换为字符输入流,并指定编码
OutputStreamWriter 可以将字节输出流转换为字符输出流,并指定编码
对象流:
ObjectInputStream 需要“包裹”一个字节流, 将Java对象转换为字节序列并输出到什么地方
ObjectOutputStream 需要“包裹”一个字节流,表示对象转换的字节序列要输出到什么地方
数据流:
DateInputStream 负责把指定类型的数据,转化为字节并写出去
DateOutputStream 负责把读取到的若干个字节,转化为指定类型的数据
管道流:
PipedReader 负责从管道中读取数据
PipedWriter 负责将数据写入到管道中
PrintWriter BufferedReader 和 PrintWriter ,进行数据的操作
刚好一个可以一次读取一行数据,另一个可以一次写出一行数据
**2.流的分类**
输入流 输出流(intput输入流,output输出流)
字节流 字符流(stream结尾的是字节流,Writer或者Reader结尾的就是字符流)
节点流:(字节流和字符流,都属于节点流。) 包装流
3.使用流来完成文件的复制
4.掌握File类的常用的方法
public String getAbsolutePath() ,返回file的绝对路径
public String getPath() ,返回创建file对象时传入的路径参数(有可能是相对路径)
public String getName() ,返回file的名字
public long length() ,file如果表示文件,则返回文件内容的长度(字节个数)
public boolean exists() ,判断此文件或目录是否真的存在
public boolean isDirectory() ,判断File表示的是否是一个目录
public boolean isFile() ,判断file表示的是否是一个文件
public boolean createNewFile() ,创建一个文新文件
public boolean delete() 删除文件或目录
public boolean mkdir() 创建一个目录
public boolean mkdirs() 创建多级目录