java - Concept to Transfer Rater per Second while downloading -
this question has reply here:
how display transfer rate per sec while still downloading file 1 replyi beingness given task senior come out function show size transfer rate per second.
i have download file web java code , display transfer rate per sec while downloading file.
please note code below not totally mine, taken here code below can calculate transfer rate after download has finished, have no thought how create code display transfer rate every second, conceptual thought or code suggestion?
public static void main(string argc[]) throws exception { long totaldownload = 0; // total bytes downloaded final int buffer_size = 1024; // size of buffer byte[] info = new byte[buffer_size]; // buffer bufferedinputstream in = new bufferedinputstream( new url( "http://ipv4.download.thinkbroadband.com:8080/5mb.zip" + "") .openstream()); int dataread = 0; // info read in each seek long starttime = system.nanotime(); // starting time of download while ((dataread = in.read(data, 0, 1024)) > 0) { totaldownload += dataread; // adding info downloaded total info system.out.println(totaldownload); } /* download rate in bytes per sec */ float bytespersec = totaldownload / ((system.nanotime() - starttime) / 1000000000); system.out.println(bytespersec + " bps"); /* download rate in kilobytes per sec */ float kbpersec = bytespersec / (1024); system.out.println(kbpersec + " kbps "); /* download rate in megabytes per sec */ float mbpersec = kbpersec / (1024); system.out.println(mbpersec + " mbps "); }
the easiest way show transfer rate during download show average transfer rate download portion downloaded far.
in other words, after downloaded each kilobyte, calculate current transfer rate (total info far/time needed download) , update display.
java
No comments:
Post a Comment