一、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();
}

二、文件遍历

File、Files、Path、Paths的更多相关文章

  1. 合并多行查询数据到一行:使用自连接、FOR XML PATH('')、STUFF或REPLACE函数 (转)

    转自: http://www.cnblogs.com/aolin/archive/2011/04/12/2014122.html 示例表 tb 数据如下 id value—————1 aa1 bb2 ...

  2. Sql Server合并多行询数据到一行:使用自连接、FOR XML PATH('')、STUFF或REPLACE函数

    示例表 tb 数据如下 id value ----- 1 aa 1 bb 2 aaa 2 bbb 2 ccc SELECT id, [val] = ( SELECT [value] + ',' FRO ...

  3. Go template高级用法、深入详解、手册、指南、剖析

    入门示例 以下为test.html文件的内容,里面使用了一个template语法{{.}}. <!DOCTYPE html> <html> <head> <m ...

  4. Java的Path、Paths和Files

    前言 因为这几天被java.nio的这几个接口和工具类卡到了,就顺便地查了一波文档以及使用方法,这篇其实更像是API的复制粘贴,只不过我在注释里多写了一些output和注意事项,看不惯API的可以选择 ...

  5. Java基础教程——File类、Paths类、Files类

    File类 File类在java.io包中.io代表input和output,输入和输出. 代表与平台无关的文件和目录. 可以新建.删除.重命名,但不能访问文件内容. File类里的常量: impor ...

  6. Java NIO学习系列七:Path、Files、AsynchronousFileChannel

    相对于标准Java IO中通过File来指向文件和目录,Java NIO中提供了更丰富的类来支持对文件和目录的操作,不仅仅支持更多操作,还支持诸如异步读写等特性,本文我们就来学习一些Java NIO提 ...

  7. NIO前奏之Path、Files、AsynchronousFileChannel

    NIO前奏之Path.Files.AsynchronousFileChannel   Java 1.4加入了nio包,Java 1.7 加入了真正的AIO(异步IO),AsynchronousFile ...

  8. C#文件与流(FileStream、StreamWriter 、StreamReader 、File、FileInfo、Directory、directoryInfo、Path、Encoding)

    (FileStream.StreamWriter .StreamReader .File.FileInfo.Directory.DirectoryInfo.Path.Encoding)     C#文 ...

  9. 6.NIO2-Path、Paths、Files

    NIO.2 jdk1.7中,java对 NIO 极大的扩展,主要增强的是对文件处理 和 文件系统特性的支持 关于其中一些API的使用 public class TestNIO_2_Path_File ...

  10. 10缓冲流、转换流、序列化流、Files

    十.流 10.1 缓冲流 10.1.1 概述                 缓冲流是对4个基本的FileXxx流的增强,所以也是4个流,按照数据类型进行分类                     ...

随机推荐

  1. web基础(6): CSS综合实例-咖啡网页设计

    咖啡店案例效果图 (一)页面的布局 1. 最上方的header:右下角是四个小图标,像图层一样附加在当前的header部分上. 2. 超链接构成的导航栏,鼠标悬浮的时候字体颜色发生变化. 3. 主体分 ...

  2. hyper给linux扩容空间

    1.hyper操作 (1)关机后,在设置中,查看硬盘驱动器中的虚拟磁盘及编号, (2)编辑磁盘->查找磁盘中选中刚才的编号磁盘 (3)操作时扩容(大小填的不是增量 ,是扩容以后的空间) 2.li ...

  3. WCF学习系列---1、新建第一个WCF服务

    一.了解.Net平台下的分布式技术 1.WebService:基于Http协议的Soap模式 2.Remoting :也是一种分布式架构技术,常常用于TCP模式的二进制传输 3.MSMQ:这是一种分布 ...

  4. stl关联式容器的接口和实现

    红黑树的实现就不再记录了,详情可以去github上面翻翻源代码 set的接口和实现: map的接口和实现: hash_set接口与实现 hash_map接口和实现:

  5. java使用apache-commons-lang3生成随机字符串(可自定义规则)

    在日常开发中,我们经常会遇到生成随机字符串的需求.可能是大小写字母+数字,也可能是其他各种字符.作为一个常用功能,我们完全没必要自己实现,有很多优质的类库已经做的很完善了.本文介绍的就是apache- ...

  6. android控制台应用binder通讯

    在android root环境下,有一个后台服务server进程需要提供接口给控制台应用client调用,本来想用socket方式来做的,后台发现android有更高效的方式来实现.那就是binder ...

  7. nxp imx8m与imx6 使用VPU时,申请CMA的区别

    imx8mp是什么时候申请CM的: imx8mp是我自己看的,imx6不一定保熟. imx8mp: imx6:

  8. 如何完整卸载catia?

    如何完整卸载catia?完全彻底卸载删除干净catia各种残留注册表和文件的方法和步骤.如何卸载catia呢?有很多同学想把catia卸载后重新安装,但是发现catia安装到一半就失败了或者显示cat ...

  9. Javascript格式化数字字符串,如手机号,银行卡号的格式化

    手机号13312341234转化成133 1234 1234 //方式一 function format_tel(tel){ tel = String(tel); return tel.replace ...

  10. jmeter压测dubbo接口,参数为dto时如何写传参及有错误时的分析思路

    一.传参 1. 无论dubbo接口传参是否为dto,所有参数都是在args的tab传进去的. 2. 如果dto中有自定义对象,paramType为自定义dto名,paramValue为其他参数组成的j ...