如何获取文件的大小(以字节为单位)?(How to get a file's size in bytes?)

优质
小牛编辑
125浏览
2023-12-01

问题描述 (Problem Description)

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

解决方案 (Solution)

此示例显示如何使用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);
   }
}

结果 (Result)

上面的代码示例将产生以下结果。要测试此示例,首先在“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\\xnip7\\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