Java 在Internet上确定文件的大小
确定Internet上文件的大小似乎有些棘手,但其实是一个相当简单和容易的任务。Java提供了一些内置的功能,可以用于完成给定的任务。在本文中,我们将讨论如何建立与Internet的连接并获取给定文件的大小。
如何使用Java在Internet上建立连接
URL
现代互联网与万维网有关。Tim Berners-Lee发明了一种定位Web上所有资源的方法,他将其命名为统一资源定位符(URL)。它提供了一种在互联网上明确标识资源的功能。URL的组成部分有四个:
- 协议
-
主机名或IP地址
-
端口号
-
路径
Java网络的URL类用于通过URL的方式建立连接或定位Internet上的资源。这个类会抛出MalformedURLException异常。
语法
URL nameOfObject = new URL( “URLspecifier” );
其中,
URLspecifier 是资源的实际URL或链接。必须用双引号括起来。
要访问URL的内容信息,我们需要使用URL类的内置方法 openConnection() 来定义一个‘URLConnection’类的对象。
URLConnection
这是一个用于访问指定资源(即Internet上的URL)信息的类。首先,在检索URL之前,它会检查URL的属性。为了检索指定资源的大小信息,它定义了一个名为 getContentLengthLong() 的方法。它与‘URLConnection’类的对象一起使用。
Java程序检查Internet上文件的大小
需要按照的步骤
- 首先,使用给定文件的链接定义一个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://www.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”包中找到。