0

ファイル (画像など) をサイトにアップロードし、転送速度を計算する可能性はありますか?

java.net.Url次のようなクラスを使用して、指定された URL から画像をダウンロードし、転送速度を計算するコードがあります。

long startTime = System.currentTimeMillis(); //start time

    System.out.println("Connecting  site...\n");
    System.out.println("Downloading......");

    URL url = new URL("http://....");
    url.openConnection();
    InputStream reader = url.openStream();

    FileOutputStream writer = new FileOutputStream("D:/imagine.jpg");
    byte[] buffer = new byte[153600];
    int totalBytesRead = 0;
    int bytesRead = 0; 

    while ((bytesRead = reader.read(buffer)) > 0)
    {  
       writer.write(buffer, 0, bytesRead);
       buffer = new byte[153600];
       totalBytesRead += bytesRead;
    }

    long endTime = System.currentTimeMillis();//end of download

    long elapsedTime=(endTime-startTime)/1000;//from miliseconds in seconds 

    System.out.println("ElapsedTime is " +elapsedTime +" s");

    int memory=new Integer(totalBytesRead);

    double memoryFinal=memory * 0.0009765625; //file in Kb

    System.out.println("File size: " +memoryFinal +"Kb");

    System.out.println("Speed :" + memoryFinal/elapsedTime + "Kbps");
    writer.close();
    reader.close();

簡単で便利なものが必要です。ありがとうございました。

4

2 に答える 2

0

ライブラリApache FileUploadをお勧めします。

プログレスバーも実装できます。これを参照してください。

よろしく

于 2012-11-05T12:06:24.890 に答える
0

はい、できますが、簡単ではありません。

サーバーへのファイルの POST はプレーンな Java URLConnection では実装されていませんが、プロトコルを実装する必要があります。

または、 org.apache.commons.httpclient を使用できます

http://www.theserverside.com/news/1365153/HttpClient-and-FileUpload

于 2012-11-05T11:53:31.673 に答える