- 通过网络资源地址(http://xxx.xxx),获取该资源大小(带单位)方法如下:
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.text.DecimalFormat;
public class GetFileSize {
public static void main(String[] args) {
String fileUrl = "http://xxx.xx.xx.xx:xxxx/uploadfiles/2.mp4"; //文件路径
try {
long fileSize = getFileSize(fileUrl); //调用获取文件大小方法
if (fileSize != -1) {
System.out.println("文件大小为:" + fileUnitConversion(fileSize)); //调用文件大小单位转换方法
} else {
System.out.println("Failed to get file size.");
}
} catch (IOException e) {
System.out.println("An error occurred: " + e.getMessage());
}
}
/**
* 获取文件大小方法
*
* @param fileUrl 文件路径
* @return
* @throws IOException
*/
public static long getFileSize(String fileUrl) throws IOException {
URL url = new URL(fileUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("HEAD");
connection.connect();
int responseCode = connection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
String contentLength = connection.getHeaderField("Content-Length");
if (contentLength != null) {
return Long.parseLong(contentLength);
}
}
return -1; // 返回-1表示获取文件大小失败
}
/**
* 文件大小单位转换方法: B/KB/MB/GB
*
* @param contentLength 文件大小
* @return
*/
public static String fileUnitConversion(Long contentLength) {
DecimalFormat df = new DecimalFormat("#.00");
String fileSizeString;
long fileSize = contentLength;
if (fileSize < 1024) {
fileSizeString = df.format((double) fileSize) + "B";
} else if (fileSize < 1048576) {
fileSizeString = df.format((double) fileSize / 1024) + "KB";
} else if (fileSize < 1073741824) {
fileSizeString = df.format((double) fileSize / 1048576) + "MB";
} else {
fileSizeString = df.format((double) fileSize / 1073741824) + "GB";
}
return fileSizeString;
}
}
- 文件大小(我这里是本地Tomcat服务器中的文件,不是本地路径文件)
文章来源:https://www.toymoban.com/news/detail-840393.html
- 读取到的文件大小
文章来源地址https://www.toymoban.com/news/detail-840393.html
到了这里,关于Java获取HTTP网络资源文件大小(带单位)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!