这两天我做了类似于迅雷的java下载器,在对像窗口没有关闭的情况下要是暂停和恢复下载。但是我想实现关闭程序后下次开启能继续上一次的状态下载。
  我的基本思路是,在关闭窗口前暂停下载的每一个线程然后对像序列化保存对像的状态(包括 URL,保存路径,已下字节数),在下一次开启时再重新加载对像,但是我实现起来发现了很多错误!!
   是不是这个思路不对,有没有其它的方法希望能给点建议或想路,最好给点程序实列。谢谢!要是有实列请发到我E-mail: [email protected]

解决方案 »

  1.   

    这两天我做了类似于迅雷的java下载器,在对像窗口没有关闭的情况下可以暂停和恢复下载。但是我想实现关闭程序后下次开启能继续上一次的状态下载。 
        我的基本思路是,在关闭窗口前暂停下载的每一个线程然后对像序列化保存对像的状态(包括   URL,保存路径,已下字节数),在下一次开启时再重新加载对像,但是我实现起来发现了很多错误!! 
          是不是这个思路不对,有没有其它的方法希望能给点建议或想路,最好给点程序实列。谢谢! 要是有实列请发到我E-mail:   [email protected]
      

  2.   

    不知道你指的是对象序列化有问题还是续传有问题,希望这个对你有所帮助。
    http://java.ccidnet.com/art/3539/20070814/1177535_1.html
      

  3.   

    下载的一般做法
    1 拿到文件尺寸
    2 创建同样大小的文件
    3 读取数据,并写道对应的文件里面
    4 保存当前数据位置
    5 返回3, 继续读取下次时
    1 读取上次保存的位置
    2 发送读取请求,携带range 参数,从上次保存的位置开始下载
    3 转前面的3继续