根据文件下载链接地址获取文件的大小

本文介绍了一种通过网络链接获取远程文件大小的方法,并提供了一个Java实现示例。该方法使用了HTTP GET请求来读取文件内容,然后计算并返回文件大小。

根据网络文件的下载链接地址,获取文件的大小

直接上代码(记住要关闭相关的流)

 /** 
 * 根据地址获得数据的字节流并转换成大小 
 * @param strUrl 网络连接地址 
 * @return 
 */  
public static String getFileSizeByUrl(String strUrl){ 
    InputStream inStream=null;
    ByteArrayOutputStream outStream=null;
    String size="";
    try {  
        URL url = new URL(strUrl);  
        HttpURLConnection conn = (HttpURLConnection)url.openConnection();  
        conn.setRequestMethod("GET");  
        conn.setConnectTimeout(5 * 1000);  
        inStream = conn.getInputStream();

        outStream = new ByteArrayOutputStream();  
        byte[] buffer = new byte[1024];  
        int len = 0;  
        while( (len=inStream.read(buffer)) != -1 ){  
            outStream.write(buffer, 0, len);  
        }
        byte[] bt =  outStream.toByteArray();

        if(null != bt && bt.length > 0){
            DecimalFormat df = new DecimalFormat("#.00");
            if (bt.length < 1024) {
                size = df.format((double) bt.length) + "BT";
            } else if (bt.length < 1048576) {
                size = df.format((double) bt.length / 1024) + "KB";
            } else if (bt.length < 1073741824) {
                size = df.format((double) bt.length / 1048576) + "MB";
            } else {
                size = df.format((double) bt.length / 1073741824) +"GB";
            }
            System.out.println("文件大小=:" + size);  
        }else{  
            System.out.println("没有从该连接获得内容");  
        }
        inStream.close();
        outStream.close();
    } catch (Exception e) {  
        e.printStackTrace();  
    }finally{
        try{
            if(inStream !=null){
                inStream.close();
            }
            if(outStream !=null){
                outStream.close();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    } 
    return size;  
}  
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值