import java.io.*;
public class TestFileWriterAndReader {
public static void copy(String reader, String writer){
//判断是否文件不存在
if(reader == null && writer == null){
System.out.println("原文件或者目标文件不存在");
}
//先赋值为空,finally里边需要用到,所以外边也先生成一下
FileReader fr = null;
FileWriter fw = null;
try {
//把原文件和目标文件都实例化一下
fr = new FileReader(reader);
fw = new FileWriter(writer);
//这是一个缓存区和哨兵(就是用来监测的)
char[] ch = new char[1024];
int len = -1;
//循环读取里边的内容
while((len = fr.read(ch,0,ch.length)) != -1){
fw.write(ch,0,len);
}
} catch (IOException e) {
e.printStackTrace();
}finally{
//关闭系统中的文件
try {
fr.close();
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
//初始化
String reader = "D:\\src\\基础面试题.text";
String writer = "D:\\desc\\基础面.text";
//调用静态无返回值方法
copy(reader,writer);
}
}
这是一个文本的一个文件内容换到另一个地方的代码。
这里用的是字符流,而不是字节流。
什么情况下用字节流和字符流?
字节流:当文档或者MP4等等的文件用文本打开之后是乱码或者打不开的时候用字节流
字符流:当用文本打开没有问题,正常显示的时候可以用字符流。
如果是字节流怎么写呢?
其实和上面操作一差不多一样的,无非就是把char改成byte。