【问题标题】:Searching in folder在文件夹中搜索
【发布时间】:2023-06-07 04:31:02
【问题描述】:

我想创建一个按名称搜索文件的方法。我有一个带有名称的变量,我需要在一个文件夹中搜索具有该名称的文件的方法。这是我的示例代码:

public class Searching {

    File file = new File("C:/Dane DMS/");
    static ArrayList <String>listaPlikowJava = new ArrayList <String> ();
    public void szukanie(File file)
    {
        for (File szukany : file.listFiles())
        {
            if(szukany.isDirectory())
                szukanie(szukany);
            else {
                String temp[] = szukany.getName().split(".");
                if (temp[1].equals("a")) listaPlikowJava.add(szukany.getName());
            }           
        }
    }
}

你觉得这个想法怎么样?

【问题讨论】:

  • 要搜索的文件名的变量在哪里?
  • 我认为你是在欺骗这里的人,发布的代码名称与英文不同。
  • 天哪,这是我命名变量的方式。
  • 变量名称是代码文档的一部分,如果您要共享代码,您应该确保您的文档能够被您共享代码的人所理解。
  • 与其将找到的文件放在静态成员中,不如从方法中返回List。这将使您的代码更易于维护和理解。

标签: java file search


【解决方案1】:

不错,不过用listFiles(FileFilter filter)比较清楚

public class MyFileFilter implements FileFilter {
   public boolean accept(File pathname) {
     if (pathname.isDirectory())
       return false;
     else {
       String temp[] = pathname.getName().split(".");
       if (temp[1].equals("a")) return true;
     }
   }
}

【讨论】: