如何用java获取网络文件的大小

如何用java获取网络文件的大小,第1张

import java.net.*

import java.io.*

public class 逗敏URLConnectionDemo{

    public static void main(String[] args)throws Exception{

        URL url = new URL("http://www.scp.edu.cn/pantoschoolzz/BG/Bord/Message/DownloadMessageAttachment.aspx?ID=215")

        URLConnection uc = url.openConnection()

        String fileName = uc.getHeaderField(6)

        fileName = URLDecoder.decode(fileName.substring(fileName.indexOf("filename=")+9),"UTF-8")

        System.out.println("文件名为:"+fileName)

        System.out.println("文件大小:"+(uc.getContentLength()/1024)+"KB")

        String path = "D:"+File.separator+fileName

        FileOutputStream os = new FileOutputStream(path)

        InputStream is = uc.getInputStream()

        byte[] b = new byte[1024]

        int len = 0

 察兄       while((len=is.read(b))!=-1){

            os.write(b,0,len)

        }

        os.close()

        is.close()

        System.out.println("下载成功,文件保存在:"+path)

    败指袭}

}

是的,JAVA上传芹告和下载的文件大小是可以不同的。上传的文件的最大文件大小完全取决于应用程序的处理,而下载的文件大小受到冲渗 JVM(Java虚拟机)的限制,如果嫌判明空间不够或者受到系统资源的限制,文件将无法下载。

你使用urlConnection.getContentLength()) 试一下吧, 不是所有的服务器都给你长度信息, 你宴渣给的url就不支持。 一般说来不读完文件不知道长度。另外: 你可以 用in.available()获取本次读冲毕时缓冲区内晌判悄容的长度。

HttpURLConnection urlConnection =

(HttpURLConnection)url.openConnection()

urlConnection.connect()

System.out.println(urlConnection.getContentLength())

System.out.println(urlConnection.getHeaderFields())


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12277568.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存