使用 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.com/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