2

データベースを読み取って、約200,000ファイル(および増大)のサーバーおよびパス情報を収集するプロセスがあります。JCIFSライブラリを使用して、次のようなものを使用して、ファイルが指定された場所に一度に1つずつ存在するかどうかを確認しました。

SmbFile file = new SmbFile(fullPath, getNtlmPasswordAuthentication());
if(file.exists()) {
     return true;
}

プロセスが完了するまでに数時間かかります。私はプロセスをスピードアップする方法を見つけようとしています。検証する必要のあるファイルは、40のディレクトリに分散しています。各ディレクトリには、数千のファイルを含めることができます。SmbFile APIにはlistFiles ()関数があり、ディレクトリを開いてそのフォルダ内のSmbFileの配列を取得できます。私は正しい方向に進んでいるのだろうか、そして誰かがもっと良い考えを持っているのだろうか。ありがとう!

4

1 に答える 1

3

絶対にlistFiles()を使用する必要があります。私が物事を正しく理解している場合、あなたのアプローチはファイルごとのリクエストになり、listFiles()はディレクトリごとのリクエストを提供します-私はx1000かそこらのスピードアップを期待しています

于 2011-03-24T00:13:15.697 に答える