JAVA 文件复制在java中的应用

第一种方式:
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

/* 需求: 把项目路径下的FileWriterDemo.java的内容复制到项目路径下的copy.java中
* 文件复制的规律:
* 数据源 :
* FileWriterDemo.java--读数据--FileReader
* 目的的:
* Copy.java -- 写数据 -- FileWriter*/
public class CopyFileDemo {
    public static void main(String[] args) throws IOException {
        //创建输入流对象
        FileReader fr = new FileReader("FileWriterDemo.java");
        //创建输出流对象
        FileWriter fw = new FileWriter("Copy.java");
        // 读写数据
        int ch ;
        while((ch = fr.read())!=-1)
        {
            fw.write(ch);
        }
        fr.close();
        fw.close();

    }
}
第二种方式:
import java.io.*;

/*
***********************重点:利用高速缓冲流的特殊功能实现文本文件的复制***************************
* 需求:把项目路径下的FileWriterDemo.java的内容复制到项目路径下的Copy.java中
* 数据源
* FileWriterDemo.java -- 读数据 -- FileReader -- 高效的读数据 -- BufferedReader
* 目的地:
* Copy.java -- 写数据 -- FileWriter -- 高效的写数据 -- BufferedWriter
* */
public class CopyfileDemo3 {
    public static void main(String[] args) throws IOException {
        //创建缓冲流对象
        BufferedReader br = new BufferedReader(new FileReader("FileWriterDemo.java "));
        BufferedWriter bw = new BufferedWriter(new FileWriter("Copy.java "));
        // 方法一 :一次读写一个字符
        //int ch;
        //while((ch = br.read())!=-1)
        //{
          //  System.out.print((char)ch);
        //}
        //方法二:一次读写一个字符数组
        char [] chs = new char[1024]; //这里可以是1024或者其整数倍
        int len;
        while((len=br.read(chs))!=-1)
        {
            bw.write(chs,0,len); // 0 - len 是为了防止得到自己不想要的数据
        }
        br.close();
        bw.close();

    }
}
第三种方式:
import com.sun.xml.internal.ws.policy.privateutil.PolicyUtils;

import java.io.*;

/*
 * 需求:把项目路径下的FileWriterDemo.java的内容复制到项目路径下的Copy.java中
 * 数据源
 * FileWriterDemo.java -- 读数据 -- FileReader -- 高效的读数据 -- BufferedReader
 * 目的地:
 * Copy.java -- 写数据 -- FileWriter -- 高效的写数据 -- BufferedWriter
 * */
public class CopyFileDemo4 {
    public static void main(String[] args) throws IOException {
        //创建输入缓冲流对象
        BufferedReader br = new BufferedReader(new FileReader("FileWriterDemo.java "));
        BufferedWriter bw = new BufferedWriter(new FileWriter("Copy.java "));
        String line;
        while((line = br.readLine())!=null)
        {
            bw.write(line);
            bw.newLine();
            bw.flush();
        }
        bw.close();
        br.close();
    }
}

java复制文本文件的方式总结:

import com.sun.xml.internal.ws.policy.privateutil.PolicyUtils;

import java.io.*;

/*
* 复制文本文件(5种方式)  ******重点掌握第五种*****
* 数据源:FileWriterDemo.java
* 目的地:Copy.java
* */
public class CopyFileTest {
    public static void main(String[] args) throws IOException {
        String srcFileName = "FileWriterDemo.java";
        String destFileName = "Copy.java";
        mothed1(srcFileName ,destFileName);
        mothed2(srcFileName ,destFileName);
        mothed3(srcFileName ,destFileName);
        mothed4(srcFileName ,destFileName);
        mothed5(srcFileName ,destFileName);

    }

    public static void mothed1(String srcFileName, String destFileName) throws IOException { //利用基本流一次读取一个字符
        //创建输入流对象
        FileReader fr = new FileReader("FileWriterDemo.java");
        //创建输出流对象
        FileWriter fw = new FileWriter("Copy.java");
        // 读写数据
        int ch ;
        while((ch = fr.read())!=-1)
        {
            fw.write(ch);
        }
        fr.close();
        fw.close();

    }

    public static void mothed2(String srcFileName, String destFileName) throws IOException { //利用基本流一次读取一个字符数组
        //创建输入流对象
        FileReader fr = new FileReader("FileWriterDemo.java");
        //创建输出流对象
        FileWriter fw = new FileWriter("Copy.java");
        // 读写数据
        char [] chs = new char[1024]; //这里可以是1024或者其整数倍
        int len;
        while((len=fr.read(chs))!=-1)
        {
            fw.write(chs,0,len);// 0 - len 是为了防止得到自己不想要的数据
            fw.flush();
        }
        fr.close();
        fw.close();

    }


    public static void mothed3(String srcFileName, String destFileName) throws IOException { //利用缓冲流读取一个字符数组
        BufferedReader br = new BufferedReader(new FileReader("FileWriterDemo.java "));
        BufferedWriter bw = new BufferedWriter(new FileWriter("Copy.java "));
        // 读写数据
        int ch ;
        while((ch = br.read())!=-1)
        {
           bw.write(ch);

        }
        br.close();
       bw.close();


    }


    public static void mothed4(String srcFileName, String destFileName) throws IOException { //利用缓冲流读取一个字符数组
        BufferedReader br = new BufferedReader(new FileReader("FileWriterDemo.java "));
        BufferedWriter bw = new BufferedWriter(new FileWriter("Copy.java "));
        // 读写数据
        char [] chs = new char[1024]; //这里可以是1024或者其整数倍
        int len;
        while((len=br.read(chs))!=-1)
        {
            bw.write(chs,0,len);// 0 - len 是为了防止得到自己不想要的数据
           bw.flush();
        }
        br.close();
        bw.close();
    }



    public static void mothed5(String srcFileName, String destFileName) throws IOException { //利用缓冲流的特殊方法
        BufferedReader br = new BufferedReader(new FileReader("FileWriterDemo.java "));
        BufferedWriter bw = new BufferedWriter(new FileWriter("Copy.java "));
        String line;
        while((line = br.readLine())!=null)
        {
            bw.write(line);
            bw.newLine();
            bw.flush();
        }
        bw.close();
        br.close();
    }
    }

猜你喜欢

转载自blog.csdn.net/yuzhentao123/article/details/88851073