File文件类

File类概述

Fail是文件和目录路径名的抽象表示形式,File类既能用来表示文件,也能用来表示目录。

  • 构造方法:
方法功能
File(String pathname)根据一个路径得到File对象
File(String parent, String child)根据一个目录和一个子文件/目录得到File对象
File(File parent, String child)根据一个父File对象和一个子文件/目录得到File对象
       File file1 = new File("C:\\Users\\Public\\Desktop\\Java课程");
       File file2 = new File("C:\\Users\\Public\\Desktop", "Java课程");
       File file3 = new File(file1, "Java课程.ppt");

File类的创建功能

实现创建功能的方法:

方法功能
public boolean createNewFile()创建一个新的文件 如果存在这样的文件,就不创建了
public boolean mkdir()创建文件夹 如果存在这样的文件夹,就不创建了
public boolean mkdirs()创建文件夹,如果父文件夹不存在,会帮你创建出来 可以创建多层目录
File file = new File("C:\\Users\\Public\\Desktop\\Java课程");
        file.mkdir();
        file.mkdirs();

File类的删除功能

方法功能
public boolean delete()删除文件或者文件夹
  • 注意:注意:删除文件夹时 这个文件夹是空文件夹 如果这个文件夹里面有文件,则不能删除!
删除单级目录
  • 删除桌面上的“Java课程”文件夹(目录中无其他目录)
public class 删除单级目录 {
    public static void main(String[] args) {
        File file = new File("C:\\Users\\Public\\Desktop\\Java课程");
        File[] files = file.listFiles();
        for (File file1 : files) {
            file1.delete();
        }
        file.delete();
    }
}
删除多级目录
  • 删除桌面上的“Java课程”文件夹(目录存在其他目录)
public class 删除多级目录 {
    public static void main(String[] args) {
        File file = new File("C:\\Users\\Administrator\\Desktop\\Java课程");
        remove(file);
    }


    private static void remove(File file) {
        File[] files = file.listFiles();
        for (File file1 : files) {
            if (file1.isFile()){
                file1.delete();
            }else {
                remove(file1);
            }
        }
        file.delete();
    }
}

File类的重命名功能

方法功能
public boolean renameTo(File dest)把文件重命名为指定的文件路径
  • 将桌面上的“Java课程”文件夹”该为“Java”
public class 重命名 {
    public static void main(String[] args) {
        File file = new File("C:\\Users\\Public\\Desktop\\Java课程");
        File file1 = new File(file.getParent(), "java");
        file.renameTo(file1);
    }
}

File类的判断功能

方法功能
public boolean isDirectory()判断是否是目录
public boolean isFile()判断是否是文件
public boolean exists()判断是否存在
public boolean canRead()判断是否可读
public boolean canWrite()判断是否可写
public boolean isHidden()判断是否隐藏
public boolean isAbsolute()判断是否使用的是绝对路径

File类的获取功能

方法功能
public String getAbsolutePath()获取绝对路径
public String getPath()获取相对路径
public String getParent()返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null
public File getParentFile()返回此抽象路径名父目录的抽象路径名;如果此路径名没有指定父目录,则返回 null
public long getTotalSpace()返回此抽象路径名指定的分区大小。 返回总容量 单位字节
public long getFreeSpace()返回此抽象路径名指定的分区中未分配的字节数。返回剩余容量 单位字节
public String getName()获取名称
public long length()获取长度。字节数
public long lastModified()获取最后一次的修改时间,毫秒值
public String[] list()获取指定目录下的所有文件或者文件夹的名称数组
public File[] listFiles()获取指定目录下的所有文件或者文件夹的File数组

文件名称过滤器

输出指定目录下指定后缀的文件名

-要求输出桌面上后缀为“.jpg”的所有文件:

public class 搜索指定文件 {
    public static void main(String[] args) {
        File file = new File("C:\\Users\\Public\\Desktop");
        File[] files = file.listFiles();
        for (File file1 : files) {
            if (file1.getName().endsWith(".jpg")){
                System.out.println(file1.getName());
            }
        }
    }
}
文件名称过滤器的概述及使用
  • 文件名称过滤器的实现方法:
方法功能
public String[] list(FilenameFilter filter)返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目录
public File[] listFiles(FilenameFilter filter)返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件
  • 要求输出桌面上后缀为“.jpg”的所有文件:
public class 文件名称过滤器 {
    public static void main(String[] args) {
        File file = new File("C:\\Users\\Public\\Desktop");
        File[] files = file.listFiles(new FilenameFilter() {
            @Override
            public boolean accept(File dir, String name) {
                File file1 = new File(dir, name);
                if (file1.isFile() && file1.getName().endsWith(".jpg")) {
                    return true;
                } else {
                    return false;
                }
            }
        });
        for (File file1 : files) {
            System.out.println(file1);
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值