CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

【文件下载时 如何取得该文件大小及当前读取位置】

楼主onefox(一品狐)2005-04-03 20:59:20 在 Java / J2SE / 基础类 提问

主要是更新进度条用的,不知如何取得这些信息。  
   
   
   
  代码如下:  
  ==================================================  
   
  try   {  
          String   urlname   =   "http://my.nbip.net/homepage/zhouB403/dp.jpg";  
   
          URL   url   =   new   URL(urlname);  
          URLConnection   conn   =   url.openConnection();//获得该对象的连接  
          String   filename   =   url.getFile();//获取整个url的名字  
   
          //分解出文件名,保存时用该名字保存   filename   =    
          filename.substring(filename.lastIndexOf('/')   +   1);  
   
          FileOutputStream   out   =   new   FileOutputStream("./updata/"   +   filename);    
          conn.setDoInput(true);//设置其属性为可读   InputStream   inStream   =    
          conn.getInputStream();   BufferedInputStream   input   =   new    
          BufferedInputStream(inStream);   byte[]   b   =   new   byte[1024];   int   a   =   0;    
          //把文件用字节读出并写入本地文件   while   ((a   =   input.read(b,   0,    
          b.length))   !=   -1)   {   out.write(b,   0,   a);   }  
   
          out.flush();  
          input.close();  
          out.close();  
  }   catch   (Exception   e)   {  
          System.out.println(e);  
  }  
   
  System.out.println("ok"); 问题点数:100、回复次数:7Top

1 楼onefox(一品狐)回复于 2005-04-03 21:00:32 得分 0

另外,有当前下载速度的话更好了。  
   
  不是是否有好用的第三方包?!  
   
  jspSmartUpload   这个不要Top

2 楼jFresH_MaN(十一月的萧邦-夜曲)回复于 2005-04-03 21:28:19 得分 0

用流的方法来读是没有办法在程序里得到对方的文件大小的  
  因为读的时候是以字符或者字节为单位的,来一个收一个,直到读到的EOF为止  
  所以我个人认为做不到Top

3 楼onefox(一品狐)回复于 2005-04-03 21:35:23 得分 0

是啊,   我也知道流是线性访问的  
   
  我只是抛砖引玉。   我想做在线更新  
   
  我现在想到的方法是:  
   
  先读一个小一点的信息文件  
   
  里面包含文件升级文件包的大小  
   
  然后再……   就是麻烦点Top

4 楼jFresH_MaN(十一月的萧邦-夜曲)回复于 2005-04-03 21:37:43 得分 50

我觉得一点都不麻烦啊  
   
  从根本上来看,流做不到一次获取对方文件信息,所以只能考虑变通的办法  
  你这样做不麻烦,有一个信息文件反而更容易管理需要下载的文件啊  
  Top

5 楼taglib(不懂就是不懂,别不懂装懂)回复于 2005-04-03 22:01:05 得分 50

URLConnection不是有个getContentLength()   方法么Top

6 楼onefox(一品狐)回复于 2005-04-03 22:13:02 得分 0

嗯,   我还是用自己的方法吧     谢谢!Top

7 楼Hodex(小何才露尖尖角)回复于 2005-04-03 22:26:08 得分 0

String   urlname   =   "http://community.csdn.net/ADV/Images/csdn120x360.GIF";  
  URL   url   =   new   URL(urlname);  
  URLConnection   conn   =   url.openConnection();//获得该对象的连接  
  System.out.println   (conn.getContentLength());  
  ____________________  
  16940  
  ok  
  Press   any   key   to   continue...  
   
   
  好久不见,不知现在.....  
  Top

相关问题

  • 请问如何读取文件大小?
  • vb文本文件读取得问题?
  • 取得文件大小
  • c中是怎样读取文件的大小?
  • 关于fread 读取文件指针fp->buf大小的问题。
  • 怎样读取远程文件的容量大小?
  • 如何利用JavaScript读取上传文件大小(字节数)
  • 如何利用JavaScript读取上传文件大小(字节数)
  • 文件读取?
  • 读取文件?

关键词

  • .net
  • 文件
  • 信息
  • urlname
  • 大小
  • urlconnection
  • conn
  • filename
  • 方法
  • url

得分解答快速导航

  • 帖主:onefox
  • jFresH_MaN
  • taglib

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo