2015-05-06 14 views
9

के साथ जावा 7 एनओओ सूची निर्देशिका मैं वाइल्डकार्ड का उपयोग कर निर्देशिका में एक फाइल ढूंढना चाहता हूं। मैं जावा 6 में इस है, लेकिन जावा 7 NIO करने के लिए कोड में परिवर्तित करना चाहते:वाइल्डकार्ड

File dir = new File(mydir); 
FileFilter fileFilter = new WildcardFileFilter(identifier+".*"); 
File[] files = dir.listFiles(fileFilter); 

कोई WildcardFileFilter, और मैं थोड़ा के आसपास globs के साथ खेला है।

DirectoryStream<Path> stream = Files.newDirectoryStream(dir, identifier+".*") 

और उसके बाद पुनरावृति फ़ाइल पथ:

+1

है करने के लिए एक ग्लोब पारित कर सकते हैं आप [फाइल ढूंढना] पढ़ते हैं (https://docs.oracle.com/javase/tutorial/essential/io/find.html)? –

+0

http://stackoverflow.com/questions/20443793/allow-wildcards-to-search-for-subdirectories-from-a-parent- निर्देशिका को देखें। इसके लिए आपको सही कोड बनाने में मदद करनी चाहिए। – wsl

उत्तर

9

आप एक DirectoryStream

import java.nio.file.DirectoryStream; 
import java.nio.file.FileSystems; 
import java.nio.file.Files; 
import java.nio.file.Path; 
... 

Path dir = FileSystems.getDefault().getPath(filePath); 
DirectoryStream<Path> stream = Files.newDirectoryStream(dir, "*.{txt,doc,pdf,ppt}"); 
for (Path path : stream) { 
    System.out.println(path.getFileName()); 
} 
stream.close(); 
+1

मुझे लगता है कि आपको एक कास्ट नंबर चाहिए? के लिए (पथ पथ: (पथ) धारा) { – Jabda

+1

@ जब्दा, आप सही हैं। यह अब तय किया गया है (DIrectoryStream ... जोड़ा गया)। – RealHowTo

संबंधित मुद्दे