2014-12-31 2 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) и поиск, что в результате array или [this] (http://docs.oracle.com/javase/7/docs/api/java/io/File.html#listFiles%28java.io.FilenameFilter%29) с собственным 'FilenameFilter'. – Tom

+0

@Tom OK Я проверю его. Спасибо за помощь. –

+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

Я думаю, он хочет найти для файла на диске. Это не тот ответ, который он ищет –

Смежные вопросы