在目录中搜索文件名

时间:2014-12-31 02:31:19

标签: java

如何在特定文件夹中搜索用户输入的文件名。在我的程序中,该文件是一个excel电子表格。所以,如果我基本上使用:

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

如何搜索并打开名为fileName的相应文件。

2 个答案:

答案 0 :(得分: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];
         }
      } 
    }

答案 1 :(得分:-1)

试试这个

    File dir = new File("F:/");
    File[] allFileName = dir.listFiles();

    for (int i = 0; i < allFileName.length; i++) {
        String filename = allFileName[i].getName()
        if (allFileName[i].isFile()) {
            if (filename.endsWith(".xls"))
            System.out.println("This is a excel file with name " + filename);
        } 
    }