JavaのFileクラスの操作、FilenameFilterフィルタ

公式ドキュメント

java.ioは、 ファイルの
パス名のファイルとディレクトリの抽象表現を。抽象的なファイルおよびディレクトリのパス名を。

UNIXプラットフォームの場合、絶対パス名の接頭辞は常に「/」です。相対パス名は接頭辞を持っていません。ルートディレクトリを示す抽象パス名は、接頭辞「/」と空の名前シーケンスを持っています。

注意:

  • ファイルディレクトリの下に勝つ必要があります:ドライブ文字(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());
            }
        }
复制代码

おすすめ

転載: juejin.im/post/5d8ebd1ae51d4577eb5d84ce
おすすめ