-4

アルゴリズムについてアドバイスしてください。たとえば、ファイルdef.txtがCで作成された場合、1時間以内に変更しないでください。1時間以内に変更しない場合は、コンソールに「ファイルは変更されていません」と印刷する必要があります。それ自体が1時間以内に変更された場合は、「そのファイルが変更されました」というステートメントを出力する必要があります。Javaでそのようなアルゴリズムを作成する方法、またはJavaでこれを実現する方法を教えてください。

4

3 に答える 3

0

複数のファイル/ディレクトリを監視する必要がある場合は、ウォッチサービスを実装できます。こちらの「ウォッチサービスの作成とイベントへの登録」を参照してください。ENTRY_CREATEイベントとENTRY_MODIFYイベントをキャプチャすると、適切に行動できるようになります。作成時に作成時間を記録し、変更時に変更時間が1時間より短いか長いかを検出します。

于 2012-10-23T09:22:14.387 に答える
0

ファイルを変更するたびに、最初にとの差がミリ秒単位で1時間未満かどうかを確認してfile.lastModified()くださいSystem.currentTimeMillis()

必要に応じて、この検証サービス(=検証メソッドを提供するオブジェクト)を呼び出す必要があります。

于 2012-10-23T09:25:57.853 に答える
0
public static void main(String[] args) {
File f = new File("/temp/t.txt");
long lastModified = f.lastModified();
long currentTime = System.currentTimeMillis();
long difference = currentTime - lastModified;
// time is in milliseconds, one hour is 60 * 60 * 1000 milliseconds
long oneHour = 1000 * 60 *60;
if (difference > oneHour)
    System.out.println("file is not modified");
else
    System.out.println("that file is modified");
}
于 2012-10-23T09:41:44.377 に答える