2

Java を使用してファイルを読み取りたいのですが (Java IO utils で必要なことを実行できることはわかっています)、問題は、アクセスしようとしているファイルをリモート マシンからダウンロードする必要があることです。では、ファイルのダウンロードが完了したこと、またはまだ進行中であることをどのように知ることができますか? 私はLinuxボックスを使用しています。javaでダウンロードの完了状況を確認する方法はありますか?

前もって感謝します

4

1 に答える 1

2

これを使用して、コピー中のファイルが完了したかどうかのステータスを確認しています。多分これはあなたにも役立ちます。私が間違っている場合は修正してください。

  1. ファイルサイズを取得する
  2. しばらく待ちます(たとえば1秒)
  3. ファイルサイズを確認する
  4. ファイルが現在ダウンロードされている場合、新しいサイズは以前のサイズよりも大きくなります。正確なサイズが得られるまで、手順 1、2、3 を繰り返します。

コードサンプル

// sourceFile is the downloading file
if (sourceFile.exists()) {
    try {
        long size = sourceFile.length();
        Thread.sleep(1000);
        long newSize = sourceFile.length();
        if (size < newSize) {
            while (size < newSize) {
                System.out.println("downloading...");
                size = sourceFile.length();
                Thread.sleep(1000);
                newSize = sourceFile.length();
            }
        }
        System.out.println("File Downloaded");
        System.out.println("Size: " + newSize);
    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}
于 2013-07-08T17:58:29.967 に答える