码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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. }

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

  • 相关阅读:
    Cobalt Strike (CS) 逆向初探
    Android SIP软电话,通话录音,VoIP电话,linphone电话
    机器学习必修课 - 编码分类变量 encoding categorical variables
    【开发必备】单点登录,清除了cookie,页面还保持登录状态?
    R语言|plot和par函数绘图详解,绘图区域设置 颜色设置 绘图后修改及图像输出
    Gartner发布2024 年十大战略技术趋势
    【计算机基础-二进制的原码,反码,补码,真值】
    如何获取combinations(a, 2)的结果,只能变量一遍,非常地花费时间。
    matplotlib笔记分享之基础设置(二)
    考研政治---马克思主义基本原理概论---辩证法
  • 原文地址:https://blog.csdn.net/m0_57640408/article/details/126333845
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号