ZetCode

Java 文件大小

最后修改于 2024 年 1 月 27 日

在本文中,我们将展示几种确定 Java 中文件大小的方法。

文件大小 是衡量计算机文件包含多少数据,或者另一种说法是,它消耗多少存储空间的指标。文件大小通常以字节表示。

在 Java 中,我们可以使用 FileFileChannelFiles 和 Apache Commons 的 FileUtils 来确定文件的大小。一般来说,在新代码中,我们应该使用 Files 类。

words.txt
green, chair, pen, computer, apple, book, scissors

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

使用 File 获取 Java 文件大小

Filelength 方法返回文件大小。这是在 Java 中找出文件大小的最古老的 API。

JavaFileSizeEx.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);
    }
}

代码示例使用 Filelength 方法确定文件大小。

使用 FileChannel 获取 Java 文件大小

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

JavaFileSizeEx2.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);
    }
}

代码示例使用 FileChannelsize 方法确定文件大小。

使用 Files 获取 Java 文件大小

Files 具有 size 方法来确定文件的大小。这是最新的 API,建议用于新的 Java 应用程序。

JavaFileSizeEx3.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);
    }
}

代码示例使用 Filessize 方法确定文件大小。

使用 FileUtils 获取 Java 文件大小

在最后一个示例中,我们使用 Apache Commons 的 FileUtils 确定文件大小。它的用于找出文件大小的方法是 sizeOf

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

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

JavaFileSizeEx4.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 的 FileUtilssizeOf 方法确定文件大小。

来源

Java 基础 I/O - 教程

在本文中,我们展示了如何在 Java 中确定文件的大小。

作者

我的名字是 Jan Bodnar,我是一位充满激情的程序员,拥有丰富的编程经验。 我自 2007 年以来一直在撰写编程文章。 迄今为止,我已经撰写了超过 1,400 篇文章和 8 本电子书。 我拥有超过十年的编程教学经验。

列出所有Java教程