0
0

More than 1 year has passed since last update.

File class

Last updated at Posted at 2023-02-02

indicate directoryの配下のfile/directoryを表示するプログラム
Fileはfile path , directory pathをmanageする
listFiles()は指定ファイルの配下のファイルをarrayとして返す
listFiles()にFileFilterを指定するとfilterをかけた結果を返す

public class Outer {
    public static void main(String[] args) {
        File f = new File("C:\\dirtest");
        FileFilter ff = pf -> {
            if(pf.isDirectory()) return true;
            if(pf.getName().endsWith(".java")) return true;
            return false;
        };
        method(f, "",null);
        System.out.println("---------------------------------");
        method(f, "",ff);

        File f1 = new File("C:\\dirtest\\testmakefile.txt");
        method2(f1);    
        File f2 = new File("C:\\dirtest\\test3dir");
        method3(f2);    
    }
    
    static void method(File pf, String indent, FileFilter ff) {
        //System.out.println(pf.getAbsolutePath());
        class SampleClass {
            File[]  method() {
                if(ff == null) return pf.listFiles();
                else  return pf.listFiles(ff);
            }
        }
        File[] fs = new SampleClass().method();
        for(File f:fs) {
            System.out.print(indent + f.getName());
            if(f.isDirectory())  System.out.println("   is directory.");
            else  System.out.println("    is file");
            if(f.isDirectory())  method(f, indent + " ",ff);
        }
    }
    static void method2(File pf) {
        try {
        if(!pf.exists()) pf.createNewFile();
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }
    static void method3(File pf) {
        if(!pf.exists()) pf.mkdir();
    }
test2dir   is directory.
 subdir   is directory.
  sub2dir   is directory.
   testfile1.txt    is file
   testfile2.txt    is file
  testfile1.txt    is file
  testfile2.txt    is file
 testfile1.txt    is file
 testfile2.txt    is file
 testfile3.java    is file
test3dir   is directory.
testdir   is directory.
 subdir   is directory.
  sub2dir   is directory.
   testfile1.txt    is file
   testfile2.txt    is file
  testfile1.txt    is file
  testfile2.txt    is file
 testfile1.txt    is file
 testfile2.txt    is file
testmakefile.txt    is file
---------------------------------
test2dir   is directory.
 subdir   is directory.
  sub2dir   is directory.
 testfile3.java    is file
test3dir   is directory.
testdir   is directory.
 subdir   is directory.
  sub2dir   is directory.
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0