使用字符输入/输出流(Reader/Writer)实现文件拷贝
package com.sxt.io;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;
/**
* 使用字符输入流和输出流实现文件的拷贝
* 1.创建源
* 2.选择流
* 3.操作
* 4.释放
* @author ASUS
*
*/
public class TryCopy02 {
public static void main(String[] args) {
//创建源
File src = new File("abc.txt");
File dest = new File("dest.txt");
//选择流
Reader reader = null;
Writer writer = null;
int len = -1;//收获长度
//操作
try {
reader = new FileReader(src);
try {
writer = new FileWriter(dest);
} catch (IOException e1) {
e1.printStackTrace();
}
char[]datas = new char[1024];//创建datas数组存放读出来的字符
try {
while((len = reader.read(datas))!=-1){//返回长度不等于-1,说明还有字符未读出
writer.write(datas, 0, len);
}
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}finally{//注意:先打开的后关闭
if(writer!=null){
try {
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(reader!=null){
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
运行结果截图
abc.txt中写入的字符如下
运行之后dest.txt写入了abc.txt中的字符