关于用字符字节流复制文本文件

时间:2021-11-27 16:02:02
笔记:
流向:
输入流: 读取数据 FileReader Reader
输出流: 写出数据 FileWriter Writer
数据类型:
字节流
字节输入流 读取数据:InputStrean
字节输出流 写出数据:OutupStrean
字符流:
字符输入流 读取数据 Reader
字符输出流 写出数据 Writer

2进制文件只能使用字节流进行复制使用,Windows自带记事本打开读不懂的
文本文件的复制既可以使用字符流,也可以使用字节流
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class FileCopyDemo {
public static void main(String[] args) throws IOException {
method();
//创建字节输入流对象
FileInputStream fis=new FileInputStream("存入的路径");
//创建字节输出流对象
FileOutputStream fos=new FileOutputStream("要复制的文件路径");
//一次读写一个字节数组
int len;
byte[] bys=new byte[1014];
while((len=fis.read(bys))!=-1){
fos.write(bys,0,len);
}
//释放资源
fos.close();
fis.close();

}

private static void method() throws FileNotFoundException, IOException {
//创建字符输入流
FileReader fr=new FileReader("存入的路径·");
//创建字符输出流
FileWriter fw=new FileWriter("要复制的文件路径");
      //一次读写一个字符数据
int len;
char[] chs=new char[1024];
while ((len=fr.read(chs))!=-1) {
fw.write(chs,0,len);
fw.flush();
}

//释放资源
fw.close();
fr.close();
}

}