如何使用 Java 获取文件大小(以字节为单位)



问题描述

如何获取文件大小(以字节为单位)?

解决方案

本示例说明如何使用 File 类中的 file.exists() 和 file.length() 方法来获取文件大小(以字节为单位)。

import java.io.File;

public class Main {
   public static long getFileSize(String filename) {
      File file = new File(filename);
      if (!file.exists() || !file.isFile()) {
         System.out.println("File doesn\'t exist");
         return -1;
      }
      return file.length();
   }
   public static void main(String[] args) {
      long size = getFileSize("c:/java.txt");
      System.out.println("Filesize in bytes: " + size);
   }
}

结果

上述代码示例将生成以下结果。要测试此示例,请首先在“C”盘创建一个文本文件“java.txt”。大小可能因文件大小而异。

File size in bytes: 480

以下是 Java 中另一个的文件大小示例

import java.io.File;

public class FileSizeExample { 
   public static void main(String[] args) { 
      File file = new File("C:\\Users\\TutorialsPoint7\\Desktop\\abc.png");
      if(file.exists()) { 
         double bytes = file.length();
         double kilobytes = (bytes / 1024);
         double megabytes = (kilobytes / 1024);
         double gigabytes = (megabytes / 1024);
         double terabytes = (gigabytes / 1024);
         double petabytes = (terabytes / 1024);
         double exabytes = (petabytes / 1024);
         double zettabytes = (exabytes / 1024);
         double yottabytes = (zettabytes / 1024);
         
         System.out.println("bytes : " + bytes);
         System.out.println("kilobytes : " + kilobytes);
         System.out.println("megabytes : " + megabytes);
         System.out.println("gigabytes : " + gigabytes);
         System.out.println("terabytes : " + terabytes);
         System.out.println("petabytes : " + petabytes);
         System.out.println("exabytes : " + exabytes);
         System.out.println("zettabytes : " + zettabytes);
         System.out.println("yottabytes : " + yottabytes);
      } else {
         System.out.println("File does not exists!");
      }
   }
}

上述代码示例将生成以下结果。要测试此示例,请首先在“C”盘创建一个文本文件“java.txt”。大小可能因文件大小而异。

bytes : 6119.0
kilobytes : 5.9755859375
megabytes : 0.005835533142089844
gigabytes : 5.698762834072113E-6
terabytes : 5.565198080148548E-9
petabytes : 5.434763750145066E-12
exabytes : 5.307386474751041E-15
zettabytes : 5.182994604249064E-18
yottabytes : 5.061518168211976E-21
java_files.htm
广告