复制文件的 Java 程序

要理解此示例,您应该具备以下 Java 编程的知识:

Java File 类不提供任何将一个文件复制到另一个文件的方法。但是,我们可以使用 Java I/O Streams 从一个文件读取内容并写入另一个文件。

示例:使用 i/o 流复制文件

import java.io.FileInputStream;
import java.io.FileOutputStream;

public class Main {
  public static void main(String[] args) {

    byte[] array = new byte[50];
    try {
      FileInputStream sourceFile = new FileInputStream("input.txt");
      FileOutputStream destFile = new FileOutputStream("newFile");

      // reads all data from input.txt
      sourceFile.read(array);

      // writes all data to newFile
      destFile.write(array);
      System.out.println("The input.txt file is copied to newFile.");

      // closes the stream
      sourceFile.close();
      destFile.close();
    }
    catch (Exception e) {
      e.getStackTrace();
    }
  }
}

输出

The input.txt file is copied to newFile.

在上面的示例中,我们使用 FileInputStreamFileOutputStream 将一个文件复制到另一个文件。

这里,

  • FileInputStreaminput.txt 中的所有内容读取到一个数组中
  • FileOutputStream 将数组中的所有内容写入 新文件

注意

  • org.apache.commons.io 包的 FileUtils 类的提供复制文件的 copyFile() 方法。
  • java.nio 包的 Files 类的提供复制文件的 copy() 方法。