2014-12-31 116 views
-3

如何搜索特定文件夾以查找用戶輸入的文件名。在我的程序中,該文件是一個excel電子表格。所以,如果我基本上使用:在目錄中搜索文件名

Scanner kbReader = new Scanner(System.in); 
String fileName = kbReader.nextLine(); 

我怎麼會搜索並打開相應的文件名爲fileName

+0

您既可以使用[這](http://docs.oracle.com/javase/7/docs/api/java/io/File.html#listFiles%28%29)和搜索得到的數組或[this](http://docs.oracle.com/javase/7/docs/api/java/io/File.html#listFiles%28java.io.FilenameFilter%29)與自己的'FilenameFilter'。 – Tom

+0

@Tom好吧,我會檢查出來。謝謝您的幫助。 –

+0

[Java從一個文件夾搜索文件名]的可能的重複(http://stackoverflow.com/questions/13216432/java-searching-file-name-from-the-one-folder) –

回答

0

你需要使用正則表達式像filename.matches("*"+expectedfilename+"*.xls"))從目錄中取的文件名列表匹配您的文件名。

String fileName = null; 
File folder = new File("your/directory/path"); 
File[] listOfFiles = folder.listFiles(); 

    for (int i = 0; i < listOfFiles.length; i++) { 
     if (listOfFiles[i].isFile()) { 
     System.out.println("File " + listOfFiles[i].getName()); 
     fileName = listOfFiles[i].getName(); 

     if(fileName.matches("*"+expectedfilename+"*.xls"))){ // put regex here 
       // do your code here and 
       // if you want to open do operation on file then file object 
       File file = listOfFiles[i]; 
     } 
     } 
    } 
+0

我想他想搜索爲磁盤中的文件。這不是他尋找的答案 –