使用字符緩沖流實(shí)現(xiàn)文件的拷貝
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class CopyTxt {
?? ?public static void main(String[] args) {
?? ??? ?copy("1.txt","2.txt");
?? ?}
?? ?
?? ?//這里是對(duì)拷貝方法進(jìn)行了封裝,還沒(méi)有對(duì)流進(jìn)行封裝???? 我們使用的是字符緩沖流,別看錯(cuò)是使用成了字節(jié)
?? ?public static void copy(String srcPath,String destPath) {
?? ??? ?//確定源
?? ??? ?File src=new File(srcPath);//讀取的文件,使用輸入流??? 因?yàn)槭菑奈募匠绦?br/>?? ??? ?File src1=new File(destPath);//寫(xiě)入文件,輸出流,從程序到文件
?? ??? ?//確定流
?? ??? ?BufferedReader is=null;
?? ??? ?BufferedWriter os=null;
?? ??? ?try {
?? ??? ??? ? is=new BufferedReader(new FileReader(src));
?? ??? ??? ? os=new BufferedWriter(new FileWriter(src1));
?? ??? ??? ?//定義一個(gè)字符串對(duì)象來(lái)存儲(chǔ)文件里面的字符串
?? ??? ??? ? String line=null;
?? ??? ??? ?//確定方法
?? ??? ??? ?while((line=is.readLine())!=null) {?? //通過(guò)is.read讀取字節(jié)數(shù)組的長(zhǎng)度
//?? ??? ??? ??? ?os.append("世界和平");
?? ??? ??? ??? ?os.write(line);
?? ??? ??? ??? ?os.newLine();//回車(chē)加換行
?? ??? ??? ?}
?? ??? ??? ?os.flush();?? //刷新緩沖流
?? ??? ??? ?
?? ??? ?} catch (FileNotFoundException e) {
?? ??? ??? ?
?? ??? ??? ?e.printStackTrace();
?? ??? ?} catch (IOException e) {
?? ??? ??? ?// TODO Auto-generated catch block
?? ??? ??? ?e.printStackTrace();
?? ??? ?}finally {
?? ??? ??? ?try {
?? ??? ??? ??? ?if(os!=null) {
?? ??? ??? ??? ??? ?os.close();? //先關(guān)閉輸出流
?? ??? ??? ??? ?}
?? ??? ??? ??? ?
?? ??? ??? ?} catch (IOException e) {
?? ??? ??? ??? ?// TODO Auto-generated catch block
?? ??? ??? ??? ?e.printStackTrace();
?? ??? ??? ?}
?? ??? ??? ?try {
?? ??? ??? ??? ?if(is!=null) {
?? ??? ??? ??? ??? ?is.close(); ?
?? ??? ??? ??? ?}
?? ??? ??? ??? ?
?? ??? ??? ?} catch (IOException e) {
?? ??? ??? ??? ?// TODO Auto-generated catch block
?? ??? ??? ??? ?e.printStackTrace();
?? ??? ??? ?}
?? ??? ?}
?? ??? ?
?? ?}
?? ?
?? ?
}
標(biāo)簽: