Java如何复制文件?

在java编程中,如何将一个文件复制到另一个文件?

此示例显示如何使用BufferedWriter类的read()write()方法将一个文件的内容复制到另一个文件中。

package com.zaixian;

import java.io.*;

public class CopyFile {
    public static void main(String[] args) throws Exception {
        String srcfile = "srcfile.txt";
        String destnfile = "destnfile.txt";
        BufferedWriter out1 = new BufferedWriter(new FileWriter(srcfile));
        out1.write("Line 1 : string to be copied\n");
        out1.write("Line 2 : to be copied\n");
        out1.close();
        InputStream in = new FileInputStream(new File(srcfile));
        OutputStream out = new FileOutputStream(new File(destnfile));
        byte[] buf = new byte[1024];
        int len;

        while ((len = in.read(buf)) > 0) {
            out.write(buf, 0, len);
        }
        in.close();
        out.close();
        BufferedReader in1 = new BufferedReader(new FileReader(destnfile));
        String str;

        while ((str = in1.readLine()) != null) {
            System.out.println(str);
        }
        in.close();
    }
}

执行上述示例代码,将产生以下结果 -

Line 1 : string to be copied
Line 2 : to be copied

示例-2

以下是将一个文件复制到另一个文件的另一个示例。

package com.zaixian;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class CopyFile2 {
    public static void main(String[] args) {
        FileInputStream ins = null;
        FileOutputStream outs = null;
        try {
            File infile = new File("F:/worksp/javaexamples/java_files/infile.txt");
            File outfile = new File("F:/worksp/javaexamples/java_files/outfile.txt");
            ins = new FileInputStream(infile);
            outs = new FileOutputStream(outfile);
            byte[] buffer = new byte[1024];
            int length;

            while ((length = ins.read(buffer)) > 0) {
                outs.write(buffer, 0, length);
            }
            ins.close();
            outs.close();
            System.out.println("File copied successfully!!");
        } catch (IOException ioe) {
            ioe.printStackTrace();
        }
    }
}

首先,创建一个文件:infile.txt,此文件中的内容就是上面CopyFile2.java文件的代码内容。

执行上述示例代码,将产生以下结果 -

File copied successfully!!

在执行完成上面示例程序后,打开文件:outfile.txt可以看到其中的内容与infile.txt文件的内容一样,说明复制文件内容成功。


上一篇: Java文件 下一篇: Java目录