# Java 程序：复制文件

> 原文： [https://www.programiz.com/java-programming/examples/copy-file](https://www.programiz.com/java-programming/examples/copy-file)

#### 在本教程中，我们将学习如何用 Java 复制文件。

[Java `File`](/java-programming/file "Java File Class")类不提供任何将一个文件复制到另一个文件的方法。 但是，我们可以使用 [Java I/O 流](/java-programming/io-streams "Java I/O Streams")从一个文件读取内容并写入另一个文件。

* * *

### 示例：使用 I/O 流复制文件

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

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();
    }
  }
} 
```

**输出**

```java
The input.txt file is copied to newFile. 
```

在上面的示例中，我们使用`FileInputStream`和`FileOutputStream`将一个文件复制到另一个文件。

这里，

*   `FileInputStream`将所有内容从`input.txt`读取到数组中
*   `FileOutputStream`将数组中的所有内容写入`newFile`

**注意**：

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