Java:简历在URLConnection中下载
 我写了一个程序,从一些服务器下载一些文件。 
 目前程序正常工作。 
 但是我想添加简历支持。 
 我这样做但是结果文件已损坏: 
.... File fcheck=new File(SaveDir+"/"+filename); if(resumebox.isSelected() && fcheck.exists()){ connection.setRequestProperty("Range", "Bytes="+(fcheck.length())+"-"); } connection.setDoInput(true); connection.setDoOutput(true); BufferedInputStream in = new BufferedInputStream (connection.getInputStream()); pbar.setIndeterminate(false); pbar.setStringPainted(true); java.io.FileOutputStream fos ; if(resumebox.isSelected()){ if(fcheck.exists()){ if(connection.getHeaderField("Accept-Ranges").equals("bytes")){ fos = new java.io.FileOutputStream(SaveDir+"/"+filename,true); }else{ fos = new java.io.FileOutputStream(SaveDir+"/"+filename); } }else{ fos = new java.io.FileOutputStream(SaveDir+"/"+filename); } }else{ fos = new java.io.FileOutputStream(SaveDir+"/"+filename); } ....  我在一台我知道支持恢复的服务器上testing它。 
 我下载了一些字节(72720) 
 然后试图恢复它。 
 然后我用hex编辑器打开文件,在偏移72720处重复第一个字节: 
 字节0-36:FLV ………….«………. onMetaData 
 字节72720-72756:FLV ………….«………. onMetaData 
 它开始从开始下载! 
 而当我通过wget来做到这一点,并通过Content-Range字段做出正确回应! 
 服务器在wget日志中使用“302 FOUND”和“206部分内容”做出响应。 
  “302 FOUND”会导致问题吗? 
 问题是什么 ? 
 谢谢。 
尝试:
 connection.setRequestProperty("Range", "bytes=" + fcheck.length() + "-"); 
按规范小写范围说明符。 此外,如果你的部分文件是500字节,这意味着你的字节范围是0-499,你想500+。
 问题出在(fcheck.length() - 1) :这应该是fcheck.length() 。