public class FileCopy {
/**
* 1、在D盘创建一个文件,用于存储C盘文件中的数据。
* 2、定义读取流和C盘文件关联
* 3、通过不断的读写完成数据存储。
* 4,关闭资源
*/
public static void main(String[] args) {
FileWriter fw = null;
FileReader fr = null;
try {
fw = new FileWriter("D:/java.txt",true);
fw.write("abcde");
fw.flush();
fr = new FileReader("D:/java.txt");
char[] chs = new char[1024];
int len = 0;
fw = new FileWriter("D:/java3.txt");
while((len=fr.read(chs))!=-1){
fw.write(chs, 0, len);
}
} catch (IOException e) {
e.printStackTrace();
throw new RuntimeException("读写失败");
} finally{
if(fw!=null)
try {
fw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(fr!=null)
try {
fr.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
package com.io;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class BufferedCopy {
//通过缓冲区复制一个java文件
public static void main(String[] args) {
BufferedReader br = null;
BufferedWriter bw = null;
try {
br = new BufferedReader(new FileReader("d:/FileCopy.java"));
bw = new BufferedWriter(new FileWriter("d:/FileCopy_Copy.java"));
String n = null;
while((n=br.readLine())!=null){
//readLine()不会返回终止符(回车符),所以每写一行要换行一次加入newLine()
bw.write(n);
bw.newLine();
bw.flush();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally{
if(br!=null)
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
if(bw!=null){
try {
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}