File类

File类总结:

createNewFile()当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。

delete() 删除此抽象路径名表示的文件或目录。

exists() 测试此抽象路径名表示的文件或目录是否存在。

getName()返回由此抽象路径名表示的文件或目录的名称。

isDirectory()测试此抽象路径名表示的文件是否是一个目录。

isFile()测试此抽象路径名表示的文件是否是一个标准文件。

listFiles()返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。

listFiles(FileFilter filter)返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。

mkdir()创建此抽象路径名指定的目录。

mkdirs()创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。

lastModified()返回此抽象路径名表示的文件最后一次被修改的时间。

length()返回由此抽象路径名表示的文件的长度。

对这些常用方法做一个实例:

public class TestFile {
    public static void main(String[] args) {
//      File f2 = new File("d:\\test\\test\\test");
        File f1 = new File("d:\\test\\test\\test\\a.txt");
//      File f2 = new File("d:","a.txt");
        // 创建文件夹:单层目录。
//      f2.mkdir();
        // 创建多层:
//      f2.mkdirs();
        System.out.println(f1.getParentFile().mkdirs());
        try {//创建文件f1.createNewFile();这里会有IOException异常,需要try-catch语句处理异常
            // 创建文件
            f1.createNewFile();
        } catch (IOException e) {
            e.printStackTrace();
        }
        boolean b1 = f1.isFile();//判断是否是文件
        boolean b2 = f1.isDirectory();//判断f2是否是目录
        String name = f1.getName();//得到f1的名字
        long l = f1.length();//得到f1的长度
        // 最后修改时间
        f1.lastModified();
  // 列出一个文件夹中的所有文件及文件夹
        File[] fileArr = file.listFiles();
        for(File f : fileArr){
            System.out.println(f.getName());
        }
        // 删除
        f1.delete();
        // 判断存在
        f1.exists();
        // 对于文件夹来说,只有空文件夹才能删除。
        // java中的删除,跟回收站没有关系。
    }
}

FileFilter的用法

FileFilter 是一个抽象类,JFileChooser 使用它过滤显示给用户的文件集合。

public class TestFileFilter {
    public static void main(String[] args) {
        File file = new File("d:\\myjava");
        // 匿名内部类+回调方式
        File[] fileArr = file.listFiles(new FileFilter(){// 参考Comparable接口。
            @Override
            public boolean accept(File f) {
                if(f.getName().endsWith(".java")){
                    return true;
                }else{
                    return false;
                }
            }
        });// 回调
        for(File f : fileArr){
            System.out.println(f.getName());
        }
    }
      
    /*private static class MyFileFilter implements FileFilter{
        @Override
        public boolean accept(File f) {
            if(f.getName().endsWith(".java")){
                return true;
            }else{
                return false;
            }
        }
    }*/
}


你可能感兴趣的:(File类)