Java - Search for files in a directory

前端 未结 9 674
予麋鹿
予麋鹿 2020-11-29 05:12

This is supposed to be simple, but I can\'t get it - \"Write a program that searches for a particular file name in a given directory.\" I\'ve found a few examples of a hardc

9条回答
  •  日久生厌
    2020-11-29 05:26

    If you want to use a dynamic filename filter you can implement FilenameFilter and pass in the constructor the dynamic name.

    Of course this implies taht you must instantiate every time the class (overhead), but it works

    Example:

    public class DynamicFileNameFilter implements FilenameFilter {
    
        private String comparingname;
    
        public DynamicFileNameFilter(String comparingName){
            this.comparingname = comparingName;
        }
    
        @Override
        public boolean accept(File dir, String name) {
            File file = new File(name);
    
            if (name.equals(comparingname) && !file.isDirectory())
                return false;
    
            else
                return true;
        }
    
    }
    

    then you use where you need:

    FilenameFilter fileNameFilter = new DynamicFileNameFilter("thedynamicNameorpatternYouAreSearchinfor");
    File[] matchingFiles = dir.listFiles(fileNameFilter);
    

提交回复
热议问题