2

特定の命名基準に従ってファイルとディレクトリを検証する Java アプリケーションを作成したいと考えています。このプログラムでは、ディレクトリを選択して再帰的に分析し、指定されたルールに一致しないファイル/ディレクトリのリストを提供します。

最終的には、ユーザーがルールを入力できるようにしたいのですが、今のところはハードコードされています。ああ、これはクロスプラットフォームである必要があります。

私は基本的な Java コンストラクトの実用的な知識を持っていますが、ライブラリの経験がなく、この種のデモやコード サンプルを見つけることができませんでした。

どのツリーが鳴き始めるか、疑似コードについての提案をお待ちしております。

編集:ここでは何も削除しようとはしていません。選択したディレクトリで特定のルール (スペースや特殊文字を使用しない、大文字で始まるディレクトリを使用しないなど) に違反する名前の再帰的なリストを取得するだけです。

4

1 に答える 1

3

Commons IOを使用したいのですが、 DirectoryWalkerが役立つと思います。

「.svn」ディレクトリを確認して削除するサンプルは次のとおりです。

  public class FileCleaner extends DirectoryWalker {

    public FileCleaner() {
      super();
    }

    public List clean(File startDirectory) {
      List results = new ArrayList();
      walk(startDirectory, results);
      return results;
    }

    protected boolean handleDirectory(File directory, int depth, Collection results) {
      // delete svn directories and then skip
      if (".svn".equals(directory.getName())) {
        directory.delete();
        return false;
      } else {
        return true;
      }

    }

    protected void handleFile(File file, int depth, Collection results) {
      // delete file and add to list of deleted
      file.delete();
      results.add(file);
    }
  }
于 2012-07-18T03:00:50.640 に答える