FileReader,FileWriter完成文件的copy
/**
* 使用FileReader,FileWriter完成文件的copy
*
* @author xiazhang
* @date 2017-6-4
*/
public class FileReaderWriterCopyTest {
/**
* 拷贝文件
*
* @param srcFile 源文件
* @param targetFile 目标文件
*/
public static void copyFile(File srcFile, File targetFile){
if(srcFile != null && srcFile.exists() && srcFile.isFile()){
if(!targetFile.exists()){
try {
targetFile.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
try {
FileReader fr = new FileReader(srcFile);
FileWriter fw = new FileWriter(targetFile);
/*//一次读取一个字符 速度较慢
int content = fr.read();
while (content != -1){
fw.write(content);//写入字符
content = fr.read();
}*/
char[] cbuf = new char[256];
int num = 0;
while((num = fr.read(cbuf)) != -1){
fw.write(cbuf,0,num);
}
/*num = fr.read(cbuf);
while(num != -1){
fw.write(cbuf,0,num);
num = fr.read(cbuf);
}*/
fr.close();
fw.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void main(String[] args) {
File srcFile = new File("fileTest.txt");
File targetFile = new File("fileTest2.txt");
copyFile(srcFile, targetFile);
}
}