title: Measuring Download Speed Java
body: <p>I'm working on downloading a file on a software, this is what i got, it sucesfully download, and also i can get progress, but still 1 thing left that I dont know how to do. Measure download speed. I would appreciate your help. Thanks.
  This is the current download method code</p>
  
  <pre><code>    public void run()
      {
          OutputStream out = null;
          URLConnection conn = null;
          InputStream in = null;
          try
          {
              URL url1 = new URL(url);
              out = new BufferedOutputStream(
              new FileOutputStream(sysDir+"\\"+where));
              conn = url1.openConnection();
              in = conn.getInputStream();
              byte[] buffer = new byte[1024];
              int numRead;
              long numWritten = 0;
              double progress1;
              while ((numRead = in.read(buffer)) != -1)
              {
                  out.write(buffer, 0, numRead);
                  numWritten += numRead;
                  this.speed= (int) (((double)
                  buffer.length)/8);
                  progress1 = (double) numWritten;
                  this.progress=(int) progress1;
              }
          }
          catch (Exception ex)
          {
              echo("Unknown Error: " + ex);
          }
          finally
          {
              try
              {
                  if (in != null)
                  {
                      in.close();
                  }
                  if (out != null)
                  {
                      out.close();
                  }
              }
              catch (IOException ex)
              {
                  echo("Unknown Error: " + ex);
              }
          }
      }
  </code></pre>