流的分类
1.按照方向分类:输入流 输出流
2.按照操作的单位分类:字节流(复制图片,文本) 字符流(复制文本)
3.组合情况:
NO.1字节输入流 字节输出流
NO.2字符输入流 字符输出流
字节输入流 InputStream
1.抽象父级:InputStream–不能实例化
2.普通子级:
1)FileInputStream–操作文件的字节输入流
构造方法参数:File file / String pathname
2)BufferedInputStream–高效字节输入流
构造方法参数:InputStream,但无法创建抽象父级对象,所以传的是FileInputStream
字节输出流 OutputStream
1.抽象父级:OutputStream–不能实例化
2.普通子级:
1)FileOutputStream–操作文件的字节输出流
构造方法参数:File file / String pathname
注意:默认存在一个参数boolean append,默认值为false,也就是覆盖输出
如果将FileOutputStream构造函数的第2个参数appned设置为true,就会实现追加输出的效果
2)BufferedOutputStream–高效字节输出流
构造方法参数:OutputStream,但无法创建抽象父级对象,所以传的是FileOutputStream
字符输入流 Reader
1.抽象父级:Reader
2.普通子级:
1)FileReader–操作文件的字符输入流
构造方法参数:File file /String filename
2)BufferedReader–高效字符输入流
构造方法参数:Reader,但无法创建抽象父级对象,所以传的是FileReader
字符输出流 Writer
1.抽象父级:Writer
2.普通子级:
1)FileWriter–操作文件的字符输出流
构造方法参数:File file /String filename
注意:默认存在一个参数boolean append,默认值为false,也就是覆盖输出
如果将FileWriter构造函数的第2个参数appned设置为true,就会实现追加输出的效果
2)BufferedWriter–高效字符输出流
构造方法参数:Writer,但无法创建抽象父级对象,所以传的是FileWriter