title: Java getting download progress
body: <p>I am writing a Java application (Using NetBeans as an IDE and a jFrame form), and one part of it downloads a file. How can I update a progress bar with the current progress of the download, or at least get the total amount of currently downloaded bytes in another thread?</p>
  
  <p>Below is a part of my code:</p>
  
  <pre><code>Runnable updatethread = new Runnable() {
          public void run() {
              try {
                  java.io.BufferedInputStream in = new java.io.BufferedInputStream(new java.net.URL("server/package.zip").openStream());
                  java.io.FileOutputStream fos = new java.io.FileOutputStream("package.zip");
                  java.io.BufferedOutputStream bout = new BufferedOutputStream(fos,1024);
                  byte[] data = new byte[1024];
                  int x=0;
                  while((x=in.read(data,0,1024))&gt;=0)
                  {
                      bout.write(data,0,x);
                  }
                  bout.close();
                  in.close();
              }
              catch(FileNotFoundException e) { } catch (IOException e) { }
          }
      };
  new Thread(updatethread).
  
  start();
  try {
      updatethread.wait();
  
  } catch (InterruptedException ex) { }
  </code></pre>