Java File類操做,FilenameFilter過濾器

官方文檔

java.io File
An abstract representation of file and directory pathnames. 文件和目錄路徑名的抽象表示。java

For UNIX platforms, the prefix of an absolute pathname is always "/". Relative pathnames have no prefix. The abstract pathname denoting the root directory has the prefix "/" and an empty name sequence.linux

注意:

  • win下文件目錄應該以: 盤符(D):\ 開頭

  • linux下文件目錄應該以:/ 開頭

示例

// 指定目錄中建立一個文件
     File file1=new File("D:\\白居易工做文件夾/");
     File.createTempFile("prefix",".text",file1);
複製代碼

測試此抽象路徑名錶示的文件或目錄是否存在。 
boolean exists() 建立由此抽象路徑名命名的目錄,包括任何須需但不存在的父目錄。 請注意,若是此操做失敗,它可能已成功建立一些必需的父目錄。 boolean mkdirs() 複製代碼

Files文件夾下查詢

// 查詢填寫目錄下的所有文件
 File file=new File("D:\\白居易工做文件夾/");
        String str[] =file.list();
        for (String i:str) {
            System.out.println(i);
        }
複製代碼
// 重寫 FilenameFilter中的accept中的方法(根據文件名稱比較)
public class FilenameList implements FilenameFilter {
    @Override
    public boolean accept(File dir, String name) {
        if(dir.getName().equals(name)){
            return true;
        }else{
            return false;
        }
// 根據文件後綴過濾
          //返回文件類型
// String type = FileTypeUtil.getType(dir);
            //name 爲文件後綴
// if(type.equals(name)){
// return true;
// }else{
// return false;
// } 
    }
}
// 把重寫過的accept看成過濾器,查詢目錄下的文件
        FilenameList filenameList=new FilenameList();
        File [] files =file.listFiles();
        for (File ii:files) {
        
           Boolean aBoolean =filenameList.accept(ii,"prefix1252806276750206736.text");
            if(aBoolean){
                System.out.println(ii.getName());
            }
        }
複製代碼
相關文章
相關標籤/搜索