一、Path、Paths 和 File、Files

        // Paths 工具类,用于获取 Path 实例
Path path = Paths.get("files/Data.txt"); // 相对路径
Path path2 = Paths.get("D:\\files/Data.txt"); // 绝对路径
Path path3 = Paths.get("D:/files/Data.txt"); // 绝对路径
Path path4 = Paths.get("D:/files", "Data.txt"); // 绝对路径
System.out.println(path); // 打印结果:files\Data.txt
System.out.println(path2); // 打印结果:D:\files\Data.txt
System.out.println(path3); // 打印结果:D:\files\Data.txt
System.out.println(path4); // 打印结果:D:\files\Data.txt
// 路径正常化
Path path5 = Paths.get("D:/files/../files2/file2.txt"); // 绝对路径
System.out.println(path5); // 打印结果:D:\files\..\files2\file2.txt
System.out.println(path5.normalize()); // 打印结果:D:\files2\file2.txt // Flies
boolean exists = Files.exists(path5); // 判断文件是否存在,存在返回true,反之返回false
System.out.println(exists); // false
try {
/*
创建一级目录
如果存在,则抛出异常:FileAlreadyExistsException
无法创建多级目录,如果目录不存在,则会抛出异常:NoSuchFileException
*/
Files.createDirectory(path5);
// 创建多级目录
Files.createDirectories(path5);
// copy 文件,如果文件存在则会抛出异常:FileAlreadyExistsException
Files.copy(path, path5);
// 如果希望覆盖掉已存在的文件,需要使用 StandardCopyOption.REPLACE_EXISTING
Files.copy(path, path5, StandardCopyOption.REPLACE_EXISTING);
// 移动文件,StandardCopyOption.ATOMIC_MOVE 保证移动文件的原子性
Files.move(path, path5, StandardCopyOption.ATOMIC_MOVE);
/*
1. 删除文件,如果文件不存在,则会抛出异常:NoSuchFileException
2. 删除目录,如果目录不存在,则会抛出异常:DirectoryNotEmptyException
*/
Files.delete(path2);
} catch (IOException e) {
e.printStackTrace();
}

二、文件遍历

最新文章

  1. android视频播放器
  2. oracle之check约束小结
  3. Android Volley完全解析(一),初识Volley的基本用法
  4. 个人介绍和GitHub
  5. UVA 10269 Adventure of Super Mario
  6. mysql学习笔记(1)
  7. 清除div浮动的三种方式
  8. iOS开发——C篇&预处理
  9. centos6.5+Django+mysql+nginx+uwsgi
  10. SharedPreferences数据、openFileOutput文件、SQLite数据库文件存储位置
  11. LINUX下QT与C语言通过网卡名获取网卡IP与MAC
  12. Chapter 1 Securing Your Server and Network(8):停止未使用的服务
  13. MySQL-Select语句高级应用
  14. 房上的猫:java基础知识部分知识点
  15. 【IOS 开发】基本 UI 控件详解 (UIDatePicker | UIPickerView | UIStepper | UIWebView | UIToolBar )
  16. 带拦截器配置的 struts.xml文件
  17. mssql sqlserver 关键字 GROUPING用法简介及说明
  18. Jenkins: 1.x升级到2.x
  19. redis实战 -- python知识散记
  20. 查看apk文件包名的一些方法

热门文章

  1. shell脚本定时任务转移项目日志
  2. java ArrayList 原理
  3. Windows下安装和使用Masscan
  4. ubuntu18.04 安装 opencv(版本4.5.5) cmake(版本3.25)
  5. 爬B站并保存成csv文件。提供数据
  6. BT做种
  7. VirtualBox上使用qemu和busybear搭建RISCV环境
  8. mqtt抓包
  9. jieba分词的分词模式比较
  10. usb 2.0 high speed resetting signaling.