首頁 > Java > java教程 > Java程式取得給定檔案的大小(以位元組、千位元組和兆位元組為單位)

Java程式取得給定檔案的大小(以位元組、千位元組和兆位元組為單位)

WBOY
發布: 2023-09-06 10:13:08
轉載
1462 人瀏覽過

Java程式取得給定檔案的大小(以位元組、千位元組和兆位元組為單位)

檔案的大小是特定檔案在特定儲存裝置(例如硬碟)上所佔用的儲存空間量。檔案的大小以位元組為單位來衡量。在本節中,我們將討論如何實作一個 java 程式來取得給定檔案的大小(以位元組、千位元組和兆位元組為單位)。

位元組是數字資訊的最小單位。一個位元組等於八位元。

  • 1 千位元組 (KB) = 1,024 位元組

  • #1 兆位元組 (MB) = 1,024 KB

  • 千兆位元組 (GB) = 1,024 MB 和

  • 1 太字節 (TB) = 1,024 GB。

檔案的大小通常取決於檔案的類型及其包含的資料量。以文字文件為例,文件的大小可能只有幾千字節,而高解析度圖像或影片檔案的大小可能有數千兆位元組。

檔案是資訊的集合,可能包含文字資訊、圖像、音訊、視訊、程式碼等資料。任何軟體應用程式都可以存取它們以執行讀取、寫入、更新、刪除等操作。

文法

建立檔案類別物件

#
File file = new File("file_path");
登入後複製

建立BufferedStramInout類別物件

#
BufferedInputStream input = new BufferedInputStream(new FileInputStream("filename"));
登入後複製

length() - 此方法傳回檔案的大小(以位元組為單位)。

File file = new File("/example.txt");
long fileSize = file.length();
登入後複製

exists() - 此方法檢查檔案是否存在並傳回布林值。

File file = new File("/example.txt");
if (file.exists()) {
  System.out.println("File exists.");
}
登入後複製

read() - 此方法用於從輸入流讀取位元組。

FileInputStream input = new FileInputStream(filePath)
byte[] buffer = new byte[10];
int bytesRead = input.read(buffer); 
登入後複製

size() - 此方法傳回檔案的大小(以位元組為單位)。

Path path = Paths.get("/path/to/file");
long fileSize = Files.size(path);
登入後複製

現在,我們將實作不同的 java 方法來尋找給定檔案的大小(以位元組、千位元組和兆位元組為單位)。

方法 1:使用 java.io。套餐

在這種特殊方法中,我們將使用java.io套件File類別並使用不同的內建函數並取得檔案的大小。

演算法

  • 使用 File 類別建立文件物件。

  • 使用exists()方法檢查檔案是否存在,如果檔案存在,請使用length()方法來尋找檔案的大小。

  • 以位元組、千位元組、兆位元組為單位列印大小。

  • 如果檔案不存在,則列印未找到的檔案。

範例

在此範例中,我們使用File 類別建立了一個文件對象,我們將使用exists() 函數檢查文件是否存在,如果文件存在則計算文件的長度使用length() 函數取得檔案的長度並將其儲存在「sizebytes」變數中。我們將使用“sizebytes”列印檔案的大小(以位元組為單位)。對於千字節,大小為「sizebytes」除以 1024;對於千字節,大小為「sizebytes」除以 1024*1024。

import java.io.File;
public class Main{
   public static void main(String[] args) {
      File f = new File("C:/example.txt");
      if (f.exists()) {
         long sizebytes = f.length();
         System.out.println("File size in bytes is equal to : " + sizebytes);
         System.out.println("File size in kilobytes is equal to : " + (sizebytes/ 1024));
         System.out.println("File size in megabytes is equal to : " + (sizebytes / (1024 * 1024)));
      } else {
         System.out.println("File not found.");
      }
   }
}
登入後複製

輸出

File size in bytes is equal to : 1048576 
File size in kilobytes is equal to : 1024
File size in megabytes is equal to : 1	
登入後複製

方法2:使用java.nio套件

在這種特定方法中,我們將使用 java.nio 套件的 Path 類,並使用不同的內建函數並取得檔案的大小。

演算法

  • 使用 Path 類別的 get() 方法建立路徑物件。

  • 使用 size() 方法尋找大小並以位元組、千位元組、兆位元組為單位列印大小

  • 如果出現異常,請列印它

範例

在此範例中,我們使用Path 類別建立了一個文件對象,我們將使用size() 函數來取得檔案的大小並儲存在「sizebytes」中'變數。我們將使用 'sizebytes' 列印檔案的大小(以位元組為單位)。對於千字節,大小為「sizebytes」除以 1024;對於千字節,大小為「sizebytes」除以 1024*1024。

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

public class Main {
   public static void main(String[] args) {
      Path p = Paths.get("C:/example.txt");
      try {
         long sizebytes = Files.size(p);
         System.out.println("File size in bytes is equal to : " + sizebytes);
         System.out.println("File size in kilobytes is equal to : " + (sizebytes/ 1024));
         System.out.println("File size in megabytes is equal to : " + (sizebytes / (1024 * 1024)));
      } catch (Exception e) {
         System.out.println("Error: " + e.getMessage());
      }
   }
}
登入後複製

輸出

File size in bytes is equal to : 1048576 
File size in kilobytes is equal to : 1024
File size in megabytes is equal to : 1
登入後複製

因此,在本文中,我們討論了 Java 中取得給定檔案大小(以位元組、千位元組和兆位元組為單位)的不同方法。

以上是Java程式取得給定檔案的大小(以位元組、千位元組和兆位元組為單位)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板