package com.io;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
/**
* 复制文件到另一个文件
* 复制原理:其实就是循环读取一个文件中的内容,然后循环往另一个文件中写就可以了
* @author wjw
*/
public class FileReader_Writer_Copy {
public static void main(String[] args) {
//copy1();//以字符数组方式复制
copy2();//以字符方式复制
}
/*
* 利用以字符数组方式读取,并以字符数组方式写入的方式
*/
public static void copy1(){
FileReader read=null;
FileWriter write=null;
try{
read=new FileReader("D:\\所有面试题\\一家公司的数据库面试题.txt");
write=new FileWriter("D:\\所有面试题\\一家公司的数据库面试题复制结果.txt");
int num=0;
char[] ch=new char[1024];
while((num=read.read(ch))!=-1){
write.write(ch,0,num);
}
}catch(IOException e){
e.printStackTrace();
}finally{
try{
if(null!=read){
read.close();
}
if(null!=write){
write.close();
}
}catch(IOException e){
e.printStackTrace();
}
}
}
/*
* 利用以字符方式读取,并以字符方式写入的方式
*/
public static void copy2(){
FileReader read=null;
FileWriter write=null;
try{
read=new FileReader("D:\\所有面试题\\一家公司的数据库面试题.txt");
write=new FileWriter("D:\\所有面试题\\一家公司的数据库面试题复制结果.txt");
int num=0;
while((num=read.read())!=-1){
write.write((char)num);
}
}catch(IOException e){
e.printStackTrace();
}finally{
try{
if(null!=read){
read.close();
}
if(null!=write){
write.close();
}
}catch(IOException e){
e.printStackTrace();
}
}
}
}