NIO的N体现在哪里

NIO.2为了弥补这种不足,引入了Path接口,代表一个平台无关的平台路劲,描述了目录结构中文件的位置、Path可以看成是File类的升级版本,实际引用的资源也可以不存在。

  • 以前IO操作是这样子的

import java.io.File;

File file = new File(“test.txt”);

  • 在java7,我们可以这样子写

import java.nio.file.Path;

import java.nio.file.Paths;

Path path = Paths.get(“test.txt”);

paths中包含了两个返回Path的静态工厂方法。

  • static Path get(String first, String … more)

用于将多个字符串串连成路径

  • static Path get(URI url)

返回指定uri对应的Path路径

Path接口


| 常用方法 | |

| — | — |

| String toString() | 返回调用 Path 对象的字符串表示形式 |

| boolean startsWith(String path) | 判断是否以 path 路径开始 |

| boolean endsWith(String path) | 判断是否以 path 路径结束 |

| boolean isAbsolute() | 判断是否是绝对路径 |

| Path getParent() | 返回Path对象包含整个路径,不包含 Path 对象指定的文件路径 |

| Path getRoot() | 返回调用 Path 对象的根路径 |

| Path getFileName() | 返回与调用 Path 对象关联的文件名 |

| int getNameCount() | 返回Path 根目录后面元素的数量 |

| Path getName(int idx) | 返回指定索引位置 idx 的路径名称 |

| Path toAbsolutePath() | 作为绝对路径返回调用 Path 对象 |

| Path resolve(Path p) | 合并两个路径,返回合并后的路径对应的Path对象 |

| File toFile() | 将Path转化为File类的对象 |

Files类


| 常用方法 | |

| — | — |

| Path copy(Path src, Path dest, CopyOption … how) | 文件的复制 |

| Path createDirectory(Path path, FileAttribute<?> … attr) | 创建一个目录 |

| Path createFile(Path path, FileAttribute<?> … arr) | 创建一个文件 |

| void delete(Path path | 删除一个文件/目录,如果不存在,执行报错 |

| void deleteIfExists(Path path) | Path对应的文件/目录如果存在,执行删除 |

| Path move(Path src, Path dest, CopyOption…how) | 将 src 移动到 dest 位置 |

| long size(Path path) | long size(Path path) |

File中用于判断的方法

| 判断方法 | |

| — | — |

| boolean exists(Path path, LinkOption … opts) | 判断文件是否存在 |

| boolean isDirectory(Path path, LinkOption … opts) | 判断是否是目录 |

| boolean isRegularFile(Path path, LinkOption … opts) | 判断是否是文件 |

| boolean isHidden(Path path) | 判断是否是隐藏文件 |

| boolean isReadable(Path path) | 判断文件是否可读 |

| boolean isWritable(Path path) | 判断文件是否可写 |

| boolean notExists(Path path, LinkOption … opts) | 判断文件是否不存在 |

File中用于操作内容的方法

| 操作内容的常用方法 | |

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
打开新的学习之门!**

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 26
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值