title: Resume http file download in java
body: <pre><code>URL url = new URL("http://download.thinkbroadband.com/20MB.zip");
  
  URLConnection connection = url.openConnection();
  File fileThatExists = new File(path); 
  OutputStream output = new FileOutputStream(path, true);
  connection.setRequestProperty("Range", "bytes=" + fileThatExists.length() + "-");
  
  connection.connect();
  
  int lenghtOfFile = connection.getContentLength();
  
  InputStream input = new BufferedInputStream(url.openStream());
  byte data[] = new byte[1024];
  
  long total = 0;
  
  while ((count = input.read(data)) != -1) {
      total += count;
  
      output.write(data, 0 , count);
  }
  </code></pre>
  
  <p>in this code I try to resume download. Target file is 20MB. But when I stop download on 10mb, then contunue, I get file with filesize 30MB. It seems that it continue writing to file, but cant partly download from server. Wget -c works great with this file. How can I resume file download?</p>