/*
将C盘的一个文本文件复制到D盘。
复制原理:
其实就是将C盘下的文件数据存储到D盘的一个文件中。
步骤:
1、在D盘创建一个文件,用于存储C盘文件中的数据。
2、定义读取流和C盘文件关联。
3、通过不断的读写完成数据存储。
4、关闭资源。
*/
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class CopyText {
public static void main(String[] args) throws IOException {
copy_1();
copy_2();
}
//从C盘读取一个字符,就在D盘写一个字符 较慢
public static void copy_1() throws IOException{
//创建目的地
FileWriter fw=new FileWriter("Demo3.txt");
//与已有文件相关联
FileReader fr=new FileReader("Demo2.txt");
int ch=0;
while((ch=fr.read())!=-1)
{
fw.write(ch);
}
fw.close();
fr.close();
}
//从C盘读取一个字符就存到字符数组中,取完后就把所有的内容存到D盘。
public static void copy_2(){
//创建目的地
FileWriter fw=null;
//与已有文件相关联
FileReader fr=null;
try{
fw=new FileWriter("Demo4.txt");
fr=new FileReader("Demo2.txt");
//创建字符数组
char[] buf=new char[1024];
int num=0;
while((num=fr.read(buf))!=-1)
{
fw.write(new String(buf,0,num));
}
}
catch(IOException e){
throw new RuntimeException("读写失败");
}
finally{
if(fr!=null)
try {
fw.close();
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
if(fw!=null)
try {
fr.close();
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
}
结果: