• Java操作文件Path 和 Paths 及Files类介绍


    我们平时操作文件时可能要写一大堆代码。JDK1.7引入了好用的Path 和 Paths类。

    创建文件,删除文件,复制文件,查找文件,查找文件个数等,只需要调一个Api就能解决,下面开始进行介绍。

    1. Paths类的使用

    代码:

    Path path = Paths.get("d:\\p\\a\\..\\b");
    System.out.println(path);
    System.out.println(path.normalize()); // 正常格式化路径

    打印结果:

    d:\p\a\..\b

    d:\p\b

    2. Files类的使用

    2.1. 检查文件是否存在:Files.exists(path);

    2.2. 创建一级目录:Files.createDirectory(path);

            如果目录已存在,会抛异常 FileAlreadyExistsException

            不能一次创建多级目录,否则会抛异常 NoSuchFileException

    2.3. 创建多级目录用 :Files.createDirectories(path);

    2.4. 复制文件:Files.copy(from, to, StandardCopyOption.REPLACE_EXISTING);

    2.5. 移动文件:Files.move(from, to, StandardCopyOption.ATOMIC_MOVE);

    2.6. 删除文件:Files.delete(path);

            如果文件不存在,会抛异常 NoSuchFileException

    2.7. 删除目录:Files.delete(path);

            如果目录还有内容,会抛异常 DirectoryNotEmptyException

    2.8 遍历目录文件(遍历后可以做任何操作)

    文件数量的统计,删除文件。。。都可以在对应的方法中操作

    1. public static void main(String[] args) throws IOException {
    2. Path path = Paths.get("D:\\nettytest");
    3. // 遍历文件
    4. Files.walkFileTree(path, new SimpleFileVisitor(){
    5. // 操作文件夹
    6. @Override
    7. public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs)
    8. throws IOException {
    9. System.out.println(dir);
    10. System.out.println("添加自己所要操作文件夹的内容");
    11. return super.preVisitDirectory(dir, attrs);
    12. }
    13. // 操作文件
    14. @Override
    15. public FileVisitResult visitFile(Path file, BasicFileAttributes attrs)
    16. throws IOException {
    17. System.out.println(file);
    18. System.out.println("添加自己所要操作文件的内容");
    19. return super.visitFile(file, attrs);
    20. }
    21. });
    22. }

    这是一套非常好用操作文件的方法,省去了以前复杂的文件操作方法。

  • 相关阅读:
    SpringBoot实现读写分离
    我的十年编程路 2013年篇
    Prompt Engineering,提示工程
    AUTOSAR介绍
    前端监控系列1| 字节的前端监控SDK是怎样设计的
    uniapp Echart X轴Y轴文字被遮挡怎么办,或未能铺满整个容器
    人工智能十大流行算法
    MySQL InnoDB存储引擎的缓冲池和内存性能
    Flutter实战-自定义键盘(二)
    不常见的JS加密分析
  • 原文地址:https://blog.csdn.net/m0_57640408/article/details/126333845