Javaを使用しています。Java perlファイルn日より古いファイルの削除/削除
私はn日以上古いファイルを削除する必要がある方法を書いています。 これはスケジュールに従って実行している家事の仕事になります。
これを行うにはどのような方法が最適ですか?
- ファイルをチェックして削除するには、Javaでメソッドを記述します。しかし、私はJavaを使用してファイルの作成時間を得ることができると思います。
- perlで書き込み、Javaからスクリプトを呼び出します。
他の提案も歓迎します。
Javaを使用しています。Java perlファイルn日より古いファイルの削除/削除
私はn日以上古いファイルを削除する必要がある方法を書いています。 これはスケジュールに従って実行している家事の仕事になります。
これを行うにはどのような方法が最適ですか?
他の提案も歓迎します。
これはjavaから行うことができます。 perlを使用する必要はありません。
import java.io.File;
import java.util.Calendar;
public class DeleteOlderThan
{
private static long daysAgo;
private static void delete(File f) {
if (f.isDirectory()) {
for (File l : f.listFiles())
delete(l);
}
if (f.lastModified() <= daysAgo) {
f.delete();
}
}
public static void main(String[] args)
{
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DAY_OF_MONTH, -1 * new Integer(args[1]));
daysAgo = cal.getTimeInMillis();
delete(new File(args[0]));
}
}
java DeleteOlderThan /my/path days
を実行すると、日より古いパスでファイルが再帰的に削除されます。
私はJavaからperlを呼び出しません。それにはポイントがありません。
* nixボックスを実行している場合は、bronコマンドを実行するだけです。
Windowsを使用している場合は、Javaで実行します。そのようなことの例はウェブ上にあります。
Apache Commons-IO、FileUtils、特にisFileOlder(ファイルファイル、日付の日付)メソッドをチェックアウトします。そのクラス内のファイルを処理するための偉大なユーティリティメソッドの
http://commons.apache.org/io/apidocs/org/apache/commons/io/FileUtils.html
ロット:ここでのJavaDocへのリンクがあります。
これは、追加のライブラリを使用せずにjavaから可能であることを意味しますか? – adi
@adi私はそう信じています。 Fileクラスをチェックしてください。サンプルを参照してください。それはすべてかなり一般的なものです。 –