Come verificare in modo efficiente l'esistenza di un grande volume di file utilizzando la libreria JCIFS?

StackOverflow https://stackoverflow.com/questions/5413128

  •  29-10-2019
  •  | 
  •  

Domanda

Ho un processo che legge il database per raccogliere informazioni sul server e per il percorso di circa 200.000 file (e in crescita). Ho usato la libreria JCIFS per verificare se il file esiste sulla posizione designata alla volta usando qualcosa del tipo:

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

Ci vogliono un paio d'ore per completare il processo. Sto cercando di trovare un modo per accelerare il processo. I file dovevano essere verificati distribuiti su 40 directory. Ogni directory può contenere due migliaia di file. Il SMBFILE API ha un ListFiles () funzione che mi permette di aprire una directory e tornare indietro di una serie di SMBFILE in quella cartella. Mi chiedo se sono sulla buona strada e se qualcuno ha un'idea migliore. Grazie!

È stato utile?

Soluzione

Assolutamente dovresti usare ListFiles (). Se capisco correttamente le cose, il tuo approccio si traduce in una richiesta per file e ListFiles () ti darà una richiesta per directory-Mi aspetterei una velocità di X1000 o giù di lì

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top