使用 Java 獲取網路檔案大小


確定網際網路上檔案的大小似乎有點棘手,但這是一個非常簡單且容易的任務。Java 提供了一些可用於給定任務的內建功能。在本文中,我們將討論如何建立與網際網路的連線並獲取給定檔案的大小。

如何使用 Java 建立網際網路連線

URL

現代網際網路的核心是全球資訊網。蒂姆·伯納斯-李發明了一種定位網路上所有資源的方法,他將其命名為統一資源定位符。它提供了在網際網路上唯一識別資源的功能。URL 有四個組成部分:

  • 協議

  • 主機名或 IP 地址

  • 埠號

  • 路徑

Java 網路中的URL類用於透過 URL 建立連線或定位網際網路上的資源。此類會丟擲 MalformedURLException 異常。

語法

URL nameOfObject = new URL( “URLspecifier” );

其中,

URLspecifier 是實際的 URL 或我們可以稱之為資源的連結。它必須用雙引號括起來。

要訪問 URL 的內容資訊,我們需要使用“URL”類的內建方法“openConnection()”定義一個“URLConnection”類的物件。

URLConnection

它是一個用於訪問指定資源(即網際網路上的 URL)資訊的類。首先,它會在檢索 URL 之前檢查其屬性。為了檢索有關指定資源大小的資訊,它定義了一個名為“getContentLengthLong()”的方法。它與“URLConnection”類的物件一起使用。

檢查網際網路上檔案大小的 Java 程式

需要遵循的步驟

  • 首先,定義一個 URL 類的物件以及給定檔案的連結。

  • 使用 URL 類的物件建立一個 URLConnection 類的物件。

  • 使用“getContentLengthLong()”檢索檔案大小並將其儲存在一個名為“fileSize”的 long 型別變數中。

  • 現在,我們將接收到的檔案大小除以 1024 以獲取檔案以千位元組為單位的大小。

  • 最後,藉助 if-else 塊列印結果。

示例

import java.net.*;
public class UCDemo {
   public static void main(String args[]) throws Exception {   
      try {
         // link of file   
         URL shareLink = new URL("https://tutorialspoint.tw/java/pdf/java_networking.pdf");
         // making connection with the file
         URLConnection urlConn = shareLink.openConnection(); 
         // retrieving type of the file
         System.out.println("Type of the content: " + urlConn.getContentType());
         // retrieving size of the file
         long fileSize = urlConn.getContentLengthLong();
         long kb = fileSize / 1024;
         if(fileSize == -1) {
            System.out.println("Cannot determine the Size of file!!");
         } else {
            System.out.println("Size of the given file in KB: " + kb + " KB");
         }
      }
      catch(Exception exp) {
         System.out.println("Something went wrong!! Please check the file type!!");
      } 
   }
}

輸出

Type of the content: application/pdf
Size of the given file in KB: 72 KB

結論

IP 地址是 32 位或 128 位無符號數字,用於唯一標識網際網路上的裝置。記住 IP 主機名稱比記住數字地址更容易。因此,URL 以字串的形式出現。在本文中,我們學習了 URL 和 URLConnection 類,它們有助於與全球資訊網建立連線。這兩個類都位於“java.net”包中。

更新於:2023年5月15日

465 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.