0
点赞
收藏
分享

微信扫一扫

NIO、NIO.2 及 Path、Paths、Files

生活记录馆 2022-02-24 阅读 38

NIO、NIO.2 及 Path、Paths、Files

文章目录


Tips

NIO

New IONon-Blocking IO

  1. NIO与原来的IO有同样的作用和目的,但是使用的方式完全不同
    NIO支持面向缓冲区的基于通道的IO操作,更高效。(IO是面向流的)

NIO.2

  1. NIO的改进,增强了对 文件处理和文件系统特性的支持
  2. NIO.2 的在 java.nio.file 包下提供了 PathPathsFiles

Path

出现背景:File类功能有限,性能低,出错时不提供异常信息
     Path可以看成是File类的升级版本,实际引用的资 源也可以不存在。

Path path = Paths.get("index.html");
  1. String toString(): 返回调用 Path 对象的字符串表示形式
  2. boolean startsWith(String path) : 判断是否以 path 路径开始
  3. boolean endsWith(String path): 判断是否以 path 路径结束
  4. boolean isAbsolute() : 判断是否是绝对路径
  5. Path getParent():返回Path对象包含整个路径,不包含 Path 对象指定的文件路径
  6. Path getRoot():返回调用 Path 对象的根路径
  7. Path getFileName() : 返回与调用 Path 对象关联的文件名
  8. int getNameCount() : 返回Path 根目录后面元素的数量
  9. Path getName(int idx) : 返回指定索引位置 idx 的路径名称
  10. Path toAbsolutePath() : 作为绝对路径返回调用 Path 对象
  11. Path resolve(Path p) :合并两个路径,返回合并后的路径对应的Path对象
  12. File toFile(): 将Path转化为File类的对象

Paths

  1. static Path get(String first, String … more) : 用于将多个字符串串连成路径
  2. static Path get(URI uri): 返回指定uri对应的Path路径

Files

  1. Path copy(Path src, Path dest, CopyOption … how): 文件的复制
  2. Path createDirectory(Path path, FileAttribute<?> … attr): 创建一个目录
  3. Path createFile(Path path, FileAttribute<?> … arr): 创建一个文件
  4. void delete(Path path): 删除一个文件/目录,如果不存在,执行报错
  5. void deleteIfExists(Path path): Path对应的文件/目录如果存在,执行删除
  6. Path move(Path src, Path dest, CopyOption…how): 将 src 移动到 dest 位置
  7. long size(Path path): 返回 path 指定文件的大小
  8. boolean exists(Path path, LinkOption … opts): 判断文件是否存在
  9. boolean isDirectory(Path path, LinkOption … opts): 判断是否是目录
  10. boolean isRegularFile(Path path, LinkOption … opts): 判断是否是文件
  11. boolean isHidden(Path path): 判断是否是隐藏文件
  12. boolean isReadable(Path path): 判断文件是否可读
  13. boolean isWritable(Path path): 判断文件是否可写
  14. boolean notExists(Path path, LinkOption … opts): 判断文件是否不存在
  15. SeekableByteChannel newByteChannel(Path path, OpenOption…how): 获取与指定文件的连 接,how 指定打开方式。
  16. DirectoryStream<Path> newDirectoryStream(Path path): 打开 path 指定的目录
  17. InputStream newInputStream(Path path, OpenOption…how):获取 InputStream 对象
  18. OutputStream newOutputStream(Path path, OpenOption…how): 获取 OutputStream 对象
举报

相关推荐

0 条评论