• JavaIO系列——文件操作类(File)


    File类

    此类仅包含对文件进行操作的静态方法, 目录或其他类型的文件。

    在大多数情况下,此处定义的方法将委托给关联的 文件系统提供程序来执行文件操作

    属性

    File.pathSeparator:获取当前环境的路径分隔符

    常用方法(文件)

    1. file.createNewFile():创建文件
    2. file.exists():判断文件是否存在
    3. file.delete():删除文件
    4. file.isFile():判断文件是否是个文件
    5. file.isHidden():判断文件是否是隐藏文件
    6. file.getAbsolutePath():获取文件的绝对路径
    7. file.getParentFile():获取父路径
    8. file.getName():获取文件名字
    9. file.getPath():获取文件路径
    10. file.getParent():获取文件父路径
    11. file.getCanonicalPath():获取文件典型路径
    12. file.getCanonicalFile():获取典型文件
    13. file.getTotalSpace():获取文件的总空间量
    14. file.getFreeSpace():获取空闲的空间量
    15. file.getUsableSpace():获取未使用的空间量
    16. file.lastModified():获取最近修改时间
    17. file.canWrite():判断是否可写
    18. file.canExecute():判断是否可执行
    19. file.canRead():判断是否可读
    20. file.getName().endsWith(“xxx”):获取文件后缀名为xxx的文件

    常用方法(文件夹)

    1. file.mkdirs():创建多层文件夹
    2. file.mkdir():创建单层文件夹
    3. file.deleteOnExit():全部删除
    4. file.delete():删除单层
    5. file.isDirectory():判断是否是文件夹
    6. file.list():转换为list集合

    示例(文件)

    import java.io.File;
    import java.io.IOException;
    import java.util.Date;
    
    public class FileDemo1 {
        public static void main(String[] args) throws IOException {
            String path = "C:\\Users\\Syf200208161018\\Desktop\\";
    
            //分隔符
            System.out.println(File.separator);
            System.out.println(File.pathSeparator);
            //创建文件
            String name = "newFile.txt";
            File file = new File(path+name);
            boolean newFile = file.createNewFile();
            System.out.println(newFile);
            //判断文件是否存在
            boolean exists = file.exists();
            System.out.println(exists);
    
            //获取文件信息
            System.out.println(file.isFile());
            System.out.println(file.isHidden());
            System.out.println(file.getAbsolutePath());
            System.out.println(file.getParentFile());
            System.out.println(file.getName());
            System.out.println(file.getPath());
            System.out.println(file.getParent());
            System.out.println(file.getCanonicalPath());
            System.out.println(file.getCanonicalFile());
            System.out.println(file.getTotalSpace());
            System.out.println(file.getFreeSpace());
            System.out.println(file.getUsableSpace());
            System.out.println(new Date(file.lastModified()));
            System.out.println(file.canRead());
            System.out.println(file.canWrite());
            System.out.println(file.canExecute());
            //删除文件
            boolean delete = file.delete();
            System.out.println(delete);
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43

    示例(文件夹)

    import java.io.File;
    
    public class FileDemo2 {
        public static void main(String[] args) {
            String path = "C:\\Users\\Syf200208161018\\Desktop\\";
            String name = "fileTest";
            File file = new File(path + name);
            boolean mkdirs = file.mkdirs();
    //        file.mkdirs()
            System.out.println(mkdirs);
            System.out.println(file.isDirectory());
            file.deleteOnExit();
            //遍历文件夹
            String[] list = file.list();
            for (String s : list) {
                System.out.println(s);
            }
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    FileFilter

    文件过滤器
    当调用File类中的listFiles()方法时,支持传入FileFilter接口接口实现类,对获取文件进行过滤,只有满足条件的文件的才可出现在listFiles()的返回值中。

    示例(打印后缀为png的文件)

    import java.io.File;
    import java.io.FileFilter;
    
    public class FileFilterDemo1 {
        public static void main(String[] args) {
            String path = "C:\\Users\\Syf200208161018\\Desktop\\";
            String name = "fileTest";
            File file = new File(path + name);
            File[] files = file.listFiles(new FileFilter() {
                @Override
                public boolean accept(File pathname) {
                    if (pathname.getName().endsWith("png")) {
                        System.out.println(pathname.getName());
                        return true;
                    }
                    return false;
                }
            });
            for (File file1 : files) {
                System.out.println(file1.getName());
            }
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
  • 相关阅读:
    企业实施MES系统的关键点详解
    Redis应用案例之优惠券秒杀
    计算机网络期末复习(知识点)
    MySQL高级篇知识点——索引优化与查询优化
    js里的async/await
    电子邮件-架构真题(二十八)
    做一个能对标阿里云的前端APM工具(上)
    小程序如何进行分包操作
    拓扑排序:acwing 848. 有向图的拓扑序列
    基于 QT 实现一个 Ikun 专属桌面宠物
  • 原文地址:https://blog.csdn.net/qq_51553982/article/details/125419637