各位大佬,在Linux环境下通过java来执行一个包含copy命令的脚本,copy的文件很大(1G左右),我想通过web显示一个进度条。请问在copy的同时怎么样才能实时获取当前的copy进度呢?

解决方案 »

  1.   

    因为非常大,所以建议做个“假”的进度条,只要这个线程还在运行,那么就在页面上显示一个Flash或者GIF的进度条图片,当COPY完成后,取消显示图片的进程
      

  2.   

    谢谢xuyang821225,我的目的是需要一个相对准确地进度,所以实时计算拷贝了的体积是免不了的.
      

  3.   

    你的copy是怎么实现的?如果也是读源文件、写目的文件,那么完全可以根据读写的buffer大小计算进度。整个过程放在独立线程里。
      

  4.   

    就是简单的拷贝文件,不过是通过调用shell来实现的
      

  5.   

    你调用操作系统的脚本来copy,要取得进度是不可能的了。
    只能照楼上几位的方法,写个假的进度条。
      

  6.   

    up也没用啊,通过shell来copy,怎么获得进度啊,自己写一个程序copy吧
      

  7.   

    如果真的只是“copy”,那用 shell 干嘛呀?直接用程序多简单,获得进度更简单。如果 shell 里所谓的“copy”是一些别的什么复杂耗时的事情,那,可能的话,让它写一个文件,把进度信息写到文件里,你这边用程序读这个文件,也可以凑合了。
      

  8.   

    按照maquan的思路,用第二种方法已经基本实现了。我想问一下,用第一种方法怎么做了,能给个例子吗?