# Java 文件大小

原文：http://zetcode.com/java/filesize/

在本教程中，我们展示了几种方法来确定 Java 中文件的大小。

文件大小用于衡量计算机文件包含多少数据，或者消耗其多少存储空间。 文件大小通常以字节表示。

在 Java 中，我们可以使用`File`，`FileChannel`，`Files`和 Apache Commons 的`FileUtils`确定文件的大小。 根据经验，在新代码中，我们应该使用`Files`类。

`words.txt`

```java
green, chair, pen, computer, apple, book, scissors

```

在我们的示例中，我们将使用位于`src/main/resources`目录中的`words.txt`文件。

## 使用`File`的文件大小

`File`的`length()`方法返回文件大小。 这是找出 Java 文件大小的最古老的 API。

`JavaFileSizeEx.java`

```java
package com.zetcode;

import java.io.File;

public class JavaFileSizeEx {

    public static void main(String[] args) {

        String fileName = "src/main/resources/words.txt";

        File f = new File(fileName);
        long fileSize = f.length();

        System.out.format("The size of the file: %d bytes", fileSize);
    }
}

```

该代码示例使用`File`的`length()`方法确定文件大小。

## 使用`FileChannel`的文件大小

`FileChannel`具有`size()`方法来确定文件的大小。

`JavaFileSizeEx2.java`

```java
package com.zetcode;

import java.io.IOException;
import java.nio.channels.FileChannel;
import java.nio.file.Path;
import java.nio.file.Paths;

public class JavaFileSizeEx2 {

    public static void main(String[] args) throws IOException {

        String fileName = "src/main/resources/words.txt";

        Path filePath = Paths.get(fileName);

        FileChannel fileChannel = FileChannel.open(filePath);
        long fileSize = fileChannel.size();

        System.out.format("The size of the file: %d bytes", fileSize);
    }
}

```

该代码示例使用`FileChannel`的`size()`方法确定文件大小。

## 使用`Files`的文件大小

`Files`具有`size()`方法来确定文件的大小。 这是最新的 API，建议用于新的 Java 应用。

`JavaFileSizeEx3.java`

```java
package com.zetcode;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class JavaFileSizeEx3 {

    public static void main(String[] args) throws IOException {

        String fileName = "src/main/resources/words.txt";

        Path filePath = Paths.get(fileName);
        long fileSize = Files.size(filePath);        

        System.out.format("The size of the file: %d bytes", fileSize);
    }
}

```

该代码示例使用`Files'` `size()`方法确定文件大小。

## `FileUtils`的文件大小

在最后一个示例中，我们使用 Apache Commons 的`FileUtils`确定文件大小。 查找文件大小的方法是`sizeOf()`。

```java
<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.6</version>
</dependency>

```

对于此示例，我们需要`commons-io`依赖项。

`JavaFileSizeEx4.java`

```java
package com.zetcode;

import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;

public class JavaFileSizeEx4 {

    public static void main(String[] args) throws IOException {

        String fileName = "src/main/resources/words.txt";
        File f = new File(fileName);

        long fileSize = FileUtils.sizeOf(f);        

        System.out.format("The size of the file: %d bytes", fileSize);
    }
}

```

该代码示例使用 Apache Commons 的`FileUtils'` `sizeOf()`方法确定文件大小。

在本教程中，我们展示了如何确定 Java 文件的大小。 您可能也对相关教程感兴趣： [Java 文件教程](/java/file/)， [Java 创建目录](/java/createdirectory/)，[用 Java 复制文件](/java/copyfile/)， [Java `Files.list`教程](/java/fileslist/)， [Java Unix 时间](/java/unixtime/)，[用 Java 创建文件](/java/createfile/)， [Java 教程](/lang/java/)，[用 Java 读取文本文件](/articles/javareadtext/)和[用 Java 编写 ICO 图像](/articles/javaico/)。