博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
12、NIO--Path、、Paths、Files
阅读量:6569 次
发布时间:2019-06-24

本文共 2637 字,大约阅读时间需要 8 分钟。

 

NIO.2

随着 JDK 7 的发布,Java对NIO进行了极大的扩

展,增强了对文件处理和文件系统特性的支持,
以至于我们称他们为 NIO.2。因为 NIO 提供的
一些功能,NIO已经成为文件处理中越来越重
要的部分

 

 

Path 与 Paths

java.nio.file.Path 接口代表一个平台无关的平台路径,描述了目

  录结构中文件的位置。
 Paths 提供的 get() 方法用来获取 Path 对象:
   Path get(String first, String … more) : 用于将多个字符串串连成路径。
 Path 常用方法:
   boolean endsWith(String path) : 判断是否以 path 路径结束
   boolean startsWith(String path) : 判断是否以 path 路径开始
   boolean isAbsolute() : 判断是否是绝对路径
   Path getFileName() : 返回与调用 Path 对象关联的文件名
   Path getName(int idx) : 返回的指定索引位置 idx 的路径名称
   int getNameCount() : 返回Path 根目录后面元素的数量
   Path getParent() :返回Path对象包含整个路径,不包含 Path 对象指定的文件路径
   Path getRoot() :返回调用 Path 对象的根路径
   Path resolve(Path p) :将相对路径解析为绝对路径
   Path toAbsolutePath() : 作为绝对路径返回调用 Path 对象
   String toString() : 返回调用 Path 对象的字符串表示形式

 

Files 类

java.nio.file.Files 用于操作文件或目录的工具类。

 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) : 删除一个文件
   Path move(Path src, Path dest, CopyOption…how) : 将 src 移动到 dest 位置
   long size(Path path) : 返回 path 指定文件的大小

 Files常用方法:用于判断

   boolean exists(Path path, LinkOption … opts) : 判断文件是否存在
   boolean isDirectory(Path path, LinkOption … opts) : 判断是否是目录
   boolean isExecutable(Path path) : 判断是否是可执行文件
   boolean isHidden(Path path) : 判断是否是隐藏文件
   boolean isReadable(Path path) : 判断文件是否可读
   boolean isWritable(Path path) : 判断文件是否可写
   boolean notExists(Path path, LinkOption … opts) : 判断文件是否不存在
   public static <A extends BasicFileAttributes> A readAttributes(Path path,Class<A> type,LinkOption...
    options) : 获取与 path 指定的文件相关联的属性。
 Files常用方法:用于操作内容
   SeekableByteChannel newByteChannel(Path path, OpenOption…how) : 获取与指定文件的连接,
    how 指定打开方式。
   DirectoryStream newDirectoryStream(Path path) : 打开 path 指定的目录
   InputStream newInputStream(Path path, OpenOption…how):获取 InputStream 对象
   OutputStream newOutputStream(Path path, OpenOption…how) : 获取 OutputStream 对象

 

自动资源管理

 Java 7 增加了一个新特性,该特性提供了另外

  一种管理资源的方式,这种方式能自动关闭文
  件。这个特性有时被称为自动资源管理
  (Automatic Resource Management, ARM), 该特
  性以 try 语句的扩展版为基础。自动资源管理
  主要用于,当不再需要文件(或其他资源)时,
  可以防止无意中忘记释放它们

 自动资源管理基于 try 语句的扩展形式:

  try(需要关闭的资源声明){
    //可能发生异常的语句
  }catch(异常类型 变量名){
    //异常的处理语句
  }
  ……
  finally{
    //一定执行的语句
  }
  当 try 代码块结束时,自动释放资源。因此不需要显示的调用 close() 方法。

  该形式也称为“带资源的 try 语句”。

  注意:
  ①try 语句中声明的资源被隐式声明为 final ,资源的作用局限于带资源的 try 语句
  ②可以在一条 try 语句中管理多个资源,每个资源以“;” 隔开即可。
  ③需要关闭的资源,必须实现了 AutoCloseable 接口或其自接口 Closeable

 

转载于:https://www.cnblogs.com/Mrchengs/p/10841735.html

你可能感兴趣的文章
Chromium Graphics: 3D上下文及其虚拟化 - Part I
查看>>
jquery javascript获得网页的高度和宽度
查看>>
2019 -2-15 复习
查看>>
vim锁定屏幕
查看>>
实用的 JavaScript 调试小技巧
查看>>
027移除元素
查看>>
Linux下清理内存和Cache方法
查看>>
CodeVS 1018 单词接龙(DFS)
查看>>
我的博客园的CSS和html设置
查看>>
工作中简单的kettle使用
查看>>
spark shuffle:分区原理及相关的疑问
查看>>
Laravel5.5 使用第三方Vendor添加注册验证码
查看>>
06- Linux下sublime下载与使用
查看>>
前端文摘:Web 开发模式演变历史和趋势
查看>>
将图片序列转化为视频文件
查看>>
jQuery的文档操作***
查看>>
js 小数取整,js 小数向上取整,js小数向下取整
查看>>
vue-cli3.0
查看>>
window.location.replace vs window.location.href
查看>>
CVPR 2018:阿里提出应用 LocalizedGAN 进行半监督训练
查看>>