使用 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”包中。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP