Pour utiliser certains fichiers d'un dossier partagé en réseau, je passe à JCIFS. Jusqu'à présent, je l'ai fait ce qui suit comme un test pour lister les fichiers dont j'ai besoin (prises de this example)Comment configurer un DosFileFilter dans JCIFS avec plusieurs extensions en tant que caractère générique?
public class ListDirectoryContent extends DosFileFilter {
int count = 0;
public ListDirectoryContent() {
super("*.txt", 0xFFFF);
}
public ListDirectoryContent(String wildcard, int attributes) {
super(wildcard, attributes);
}
public boolean accept(SmbFile file) throws SmbException {
System.out.print(" " + file.getName());
count++;
return (file.getAttributes() & attributes) != 0;
}
public static void main(String[] argv) throws Exception {
NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication("DOMAIN","myuser","A good password, yes sir!");
SmbFile file = new SmbFile("smb://networkResource/sharedFolder/Files/SubFolderOne/", auth);
ListDirectoryContent llf = new ListDirectoryContent();
long t1 = System.currentTimeMillis();
SmbFile[] pepe = file.listFiles(llf);
long t2 = System.currentTimeMillis() - t1;
System.out.println();
System.out.println(llf.count + " files in " + t2 + "ms");
System.out.println();
System.out.println(pepe.length + " SmbFiles in " + t2 + "ms");
}
}
Et jusqu'à présent, il travaille pour un générique d'extension. Comment puis-je élargir le dosfilefilter pour vérifier un ensemble d'extensions? (comme commons.io.FileUtils fait)