1.字节流:可以操作任何文件(二进制、文本)
1).输出流:OutputStream(抽象类)
输出的方法(三种):
1).write(int b):输出一个字节
2).write(byte[] arr):输出一个字节数组
3).write(byte[] arr,int off,int len):数组字节数组的一部分;
|--FileOutputStream(子类):
构造方法:(注意:文件可以不存在,会自动创建)
1).FileOutputStream(String fileName):
2).FileOutputStream(String fileName,boolean append):
3).FileOutputStream(File file):
4).FileOutputStream(File file,boolean append):
2).输入流:InputStream(抽象类)
读取的方法(两种)
1).int read():读取一个字节。返回:读取的字节
2).int read(byte[] b):读取一个字节数组。返回:读取的字节数量
|--FileInputStream(子类)
构造方法:(注意:构造时,文件必须存在,否则运行时异常)
1).FileInputStream(String fileName):
2).FileInputStream(File file):
2.字符流:只能操作文本文件
1).输出流:Writer(抽象类)
输出的方式(五种):
1).write(int c):输出一个字符;
2).write(char[] c):输出一个字符数组;
3).write(char[] c,int off,int len):输出字符数组的一部分;
4).write(String s):输出一个字符串;
5).write(String s,int off,int len):输出字符串的一部分;
|--OutputStreamWriter(转换流):
|--FileWriter(子类):
构造方法:
1).FileWriter(String fileName):
2).FileWriter(String fileName,boolean append):
3).FileWriter(File file):
4).FileWriter(File file,boolean append):
2).输入流:Reader(抽象类)
读取的方法(两种):
1).int read():读取一个字符
2).int read(char[] c):读取一个字符数组;
|--InputStreamReader(转换流)
|--FileReader(子类):
构造方法:
1).FileReader(String fileName):
2).FileReader(File file):
3.String和byte[]数组的转换:
1).String --> byte[] : String类的getBytes()
2).byte[] --> String : String类的构造方法;
4.String和char[]数组的转换:
1).String --> char[] : String类的toCharArray()
2).char[] --> String : String类的构造方法;
5.文件复制的流程:
1).复制二进制文件、文本文件-->使用"字节流"
2).复制文本文件-->推荐使用"字符流"
3).复制流程:
1.使用"输入流"封装源文件;
2.使用"输出流"封装目标文件;(目标文件可以不存在)
3.开始复制:
1).一次读、写一个字节/字符;
2).一次读、写一个字节/字符数组;
|
|