java获取文件大小_Java获取文件大小

本文介绍了使用Java获取文件大小的几种方法,包括使用File类的length()方法、类的length()方法以及Apache Commons IO的FileUtils.sizeOf()方法。文章提供了一个简单的示例程序来演示如何操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java获取文件大小

Today we will look into different ways to get file size in Java.

今天,我们将研究使用Java获取文件大小的不同方法。

Java获取文件大小 (Java get file size)

There are different classes that we can use for java get file size program. Some of them are;

我们可以将不同的类用于java get文件大小程序。 他们之中有一些是;

  1. Java get file size using File class

    Java使用File类获取文件大小
  2. Get file size in java using FileChannel class

    使用FileChannel类获取Java中的文件大小
  3. Java get file size using Apache Commons IO FileUtils class

    Java使用Apache Commons IO FileUtils类获取文件大小

Before we look into an example program to get file size, we have a sample pdf file with size 2969575 bytes.

在研究示例程序获取文件大小之前,我们有一个样本PDF文件,大小为2969575字节。

Java使用File类获取文件大小 (Java get file size using File class)

Java File length() method returns the file size in bytes. The return value is unspecified if this file denotes a directory. So before calling this method to get file size in java, make sure file exists and it’s not a directory.

Java File length()方法返回以字节为单位的文件大小。 如果此文件表示目录,则未指定返回值。 因此,在调用此方法以获取Java中的文件大小之前,请确保文件存在并且它不是目录。

Below is a simple java get file size example program using File class.

以下是使用File类的简单Java获取文件大小示例程序。

package com.journaldev.getfilesize;

import java.io.File;

public class JavaGetFileSize {

	static final String FILE_NAME = "/Users/pankaj/Downloads/file.pdf";

	public static void main(String[] args) {
		File file = new File(FILE_NAME);
		if (!file.exists() || !file.isFile()) return;

		System.out.println(getFileSizeBytes(file));
		System.out.println(getFileSizeKiloBytes(file));
		System.out.println(getFileSizeMegaBytes(file));
	}

	private static String getFileSizeMegaBytes(File file) {
		return (double) file.length() / (1024 * 1024) + " mb";
	}
	
	private static String getFileSizeKiloBytes(File file) {
		return (double) file.length() / 1024 + "  kb";
	}

	private static String getFileSizeBytes(File file) {
		return file.length() + " bytes";
	}
}

使用FileChannel类获取Java中的文件大小 (Get file size in java using FileChannel class)

We can use FileChannel size() method to get file size in bytes.

我们可以使用FileChannel size()方法来获取文件大小(以字节为单位)。

package com.journaldev.getfilesize;

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

public class JavaGetFileSizeUsingFileChannel {

	static final String FILE_NAME = "/Users/pankaj/Downloads/file.pdf";

	public static void main(String[] args) {

		Path filePath = Paths.get(FILE_NAME);
		FileChannel fileChannel;
		try {
			fileChannel = FileChannel.open(filePath);
			long fileSize = fileChannel.size();
			System.out.println(fileSize + " bytes");
			fileChannel.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

Java使用Apache Commons IO FileUtils类获取文件大小 (Java get file size using Apache Commons IO FileUtils class)

If you are already using Apache Commons IO in your project, then you can use FileUtils sizeOf method to get file size in java.

如果您已经在项目中使用Apache Commons IO,则可以使用FileUtils sizeOf方法来获取Java中的文件大小。

package com.journaldev.getfilesize;

import java.io.File;

import org.apache.commons.io.FileUtils;

public class JavaGetFileSizeUsingApacheCommonsIO {

	static final String FILE_NAME = "/Users/pankaj/Downloads/file.pdf";

	public static void main(String[] args) {
		File file = new File(FILE_NAME);

		long fileSize = FileUtils.sizeOf(file);

		System.out.println(fileSize + " bytes");
	}
}

That’s all for java get file size programs.

Java获取文件大小程序就这些了。

GitHub Repository. GitHub存储库中签出更多Java IO示例。

翻译自: https://www.journaldev.com/839/java-get-file-size

java获取文件大小

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值