violix 2008-11-24 14:24
浏览 227
已采纳

java中的文件上传进度条原理是什么哈

采用fileupload,现在是可以上传文件,在网上找到一个extjs的上传控件,但是只显示当前上传了多少个文件,并没有显示单个文件的上传进度。想问的是,java中,进度条的原理是什么,也就是怎么实时更新当前上传的进度(只要能够获取进度,并能返回即可,具体显示偶可以结合extjs)。

  • 写回答

1条回答 默认 最新

  • hunterli0408 2008-11-24 15:40
    关注

    注:以下所说是针对J2SE,网页上的话,不太确定是否有效。

    一般来说,上传也好,下载也好,都要用到JavaI/O。
    而计算进度的原理,不就是已经传输的大小与总大小的比值嘛。
    这样就简单了,就拿最基本的OutputStream来说,它的基本的写出方法为
    void write(byte[] b) ,实际上写出的过程不就是通过InputStream循环读,然后OutputStream循环写嘛。
    你只要事先通过File类取得文件的总大小,然后在读入或写出的循环里加一个简单的进度计算的步骤,每读取或写出一次,就将已传输大小增加b.length,求出比值,更新进度条。具体的计算间隔,可以根据循环次数或时间间隔来定。

    编码上,估计要用到I/O流,File,Socket以及Thread。
    因为你是使用fileupload插件,所以最好查看一下它的实现代码,已决定如何将进度功能加入其中。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 原子操作+O3编译,程序挂住
  • ¥15 使用STM32F103C6微控制器设计两个从0到F计数的一位数计数器(数字),同时,有一个控制按钮,可以选择哪个计数器工作:需要两个七段显示器和一个按钮。
  • ¥15 写51单片机程序代码,代码好难,需要外部中断还有电子时钟的,还有按键修改电子时钟,请大家积极讨论
  • ¥15 在yolo1到yolo11网络模型中,具体有哪些模型可以用作图像分类?
  • ¥15 AD9910输出波形向上偏移,波谷不为0V
  • ¥15 淘宝自动下单XPath自动点击插件无法点击特定<span>元素,如何解决?
  • ¥15 曙光1620-g30服务器安装硬盘后 看不到硬盘
  • ¥15 抖音直播广场scheme
  • ¥15 为什么我明明有这个文件调试器还显示错误?
  • ¥15 软件工程用例图的建立(相关搜索:软件工程用例图|画图)