1

現在、Java FTP ライブラリ (ftp4j) を使用して FTP サーバーにアクセスしています。サーバーのファイルカウントとディレクトリカウントを行いたいのですが、これは、ディレクトリ内のディレクトリ内のディレクトリ内のファイルなどをリストする必要があることを意味します.

これはどのように達成できますか?どんなヒントでも大歓迎です。

コードからの抜粋:

client = new FTPClient();
try {
    client.connect("");
    client.login("", "");
    client.changeDirectory("/");
    FTPFile[] list = client.list();
    int totalDIRS = 0;
    int totalFILES = 0;
    for (FTPFile ftpFile : list) {
        if (ftpFile.getType() == FTPFile.TYPE_DIRECTORY) {
            totalDIRS++;
        }
    }
    message =
        "There are currently " + totalDIRS + " directories within the ROOT directory";
    client.disconnect(true);
} catch (Exception e) {
    System.out.println(e.toString());
}
4

3 に答える 3

0

再帰関数を使用してみてください。これは、ファイルのディレクトリをチェックする関数である可能性があり、ファイルにディレクトリである子があるかどうかをチェックできます。子がある場合は、そのディレクトリなどに対して同じ関数を再度呼び出すことができます。

この疑似Javaのように:

void Function(String directory){
 ... run through files here
 if (file.hasChild())
 {
  Function(file.getString());
 }
}

ファイルのカウントにもそのようなコーディングを使用できると思います...

于 2011-06-07T15:49:32.963 に答える
0

ディレクトリである可能性のあるファイルを指定すると、その中のファイルとディレクトリの数を返す再帰関数を作成します。とを使用isDirlistFilesます。

于 2011-06-07T15:53:44.007 に答える