Java获取HTTP网络资源文件大小(带单位)

这篇具有很好参考价值的文章主要介绍了Java获取HTTP网络资源文件大小(带单位)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  • 通过网络资源地址(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服务器中的文件,不是本地路径文件)

http请求url怎么拿文件大小,java,http

  • 读取到的文件大小

http请求url怎么拿文件大小,java,http文章来源地址https://www.toymoban.com/news/detail-840393.html

到了这里,关于Java获取HTTP网络资源文件大小(带单位)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 局域网内共享文件提示没有权限访问网络资源

    现在公司和单位都组建了局域网。大多使用Windows XP系统,但是这个系统本身就带有些系统排斥,因为内网的资源是共享的,所以经常碰到等入不了的问题,系统提示:你可能没有权限访问网络资源。请与这台服务器的管理员联系以查明你是否有访问权限。拒绝访问。”此工作

    2024年02月06日
    浏览(37)
  • 【Android实现 资源路径/手机内存/网络文件 下的视频播放】

    业务场景:安卓实现播放视频的功能,支持播放不同类型资源下的视频,下面在使用中封装了一个方法,可以根据需要修改调用 这段代码是一个视频播放器的方法。根据传入的视频路径和视频类型,它会选择不同的播放逻辑。 如果视频类型是\\\"network\\\",则会处理网络文件的播

    2024年02月16日
    浏览(36)
  • unity网络资源导入

    1、找到需要导入的文件,这里导入fbx格式 2、打开unity界面,在Asset目录下创建文件夹FBX,将需要导入的fbx预制体或整个文件夹拖入创建的FBX文件夹下  3、选中需要的fbx预制体并拖至场景中  4、双击定位到当前物体  5、找到需要导入的贴图文件texture,同样地在Asset目录下创建

    2024年02月12日
    浏览(31)
  • 计算机网络原理 实验 网络协议配置及网络资源共享

    1. 熟悉Windows中的网络协议的配置。 2. 掌握局域网在资源共享方面的应用。 1.网络协议三要素:语法、语义、同步 2. ISO/OSI模型(七层结构)、TCP/IP模型(五层结构) 3. 网络资源共享:其他用户可以通过网络查看用户计算机的共享资源 安装Windows Server 2003的计算机、交换机(

    2024年02月04日
    浏览(40)
  • Linux网络名称空间之独立网络资源管理

    Linux网络名称空间是一种强大的虚拟化技术🛠️,它允许用户创建隔离的网络环境🌐,每个环境拥有独立的网络资源和配置。这项技术对于云计算☁️、容器化应用📦和网络安全🔒等领域至关重要。本文将详细介绍在Linux网络名称空间中可以拥有的独立网络资源,并指出应

    2024年04月11日
    浏览(35)
  • 网络安全红队资源合集

    红队的整个攻击流程 信息收集、攻击尝试获得权限、持久性控制、权限提升、网络信息收集、横向移动、数据分析(在这个基础上再做持久化控制)、在所有攻击结束之后清理并退出战场。 https://mitre-attack.github.io/ mitre 科技机构对攻击技术的总结 wiki https://huntingday.github.io 

    2024年02月09日
    浏览(28)
  • Docker网络与资源控制

    目录 一、Docker网络 1.Docker网络模式 2.Docker网络实现的原理 3.映射端口 4.none模式 5.bridge模式 二、资源控制 1.CPU 资源控制 2.cgroups有四大功能: ●Host:容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。 ●Container:创建的容器不会创建自己的网卡,

    2023年04月25日
    浏览(25)
  • Docker 网络、资源控制

    Docker使用Linux桥接 ,在宿主机虚拟一个 Docker容器网桥(docker0) ,Docker启动一个容器时会根据 Docker网桥的网段 分配给容器一个 IP地址 ,称为 Container-IP ,同时 Docker网桥是每个容器的默认网关 。因为在同一宿主机内的容器 都接入同一个网桥 ,这样容器之间就能够 通过容器的

    2024年02月15日
    浏览(37)
  • 网络安全--红队资源大合集

    红队攻击的生命周期,整个生命周期包括: 信息收集、攻击尝试获得权限、持久性控制、权限提升、网络信息收集、横向移动、数据分析(在这个基础上再做持久化控制)、在所有攻击结束之后清理并退出战场。 重点提醒:本项目工具来源于互联网,是否含带木马及后门请

    2024年02月06日
    浏览(27)
  • 【Linux】Docker 网络与资源控制

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址,称为Container-IP,同时Docker网桥是每个容器的默认网关。因为在同一宿主机

    2024年02月15日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包