NIO、NIO.2 及 Path、Paths、Files
文章目录
Tips
NIO
New IO 或 Non-Blocking IO
NIO
与原来的IO
有同样的作用和目的,但是使用的方式完全不同
NIO
支持面向缓冲区的基于通道的IO
操作,更高效。(IO
是面向流的)
NIO.2
- 对
NIO
的改进,增强了对 文件处理和文件系统特性的支持 NIO.2
的在 java.nio.file 包下提供了Path
、Paths
、Files
Path
出现背景:File类功能有限,性能低,出错时不提供异常信息
Path可以看成是File类的升级版本,实际引用的资 源也可以不存在。
Path path = Paths.get("index.html");
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类的对象
Paths
static
Path
get(String first, String … more)
: 用于将多个字符串串连成路径static
Path
get(URI uri)
: 返回指定uri对应的Path路径
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)
: 返回 path 指定文件的大小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)
: 判断文件是否不存在SeekableByteChannel
newByteChannel(Path path, OpenOption…how)
: 获取与指定文件的连 接,how 指定打开方式。DirectoryStream<Path>
newDirectoryStream(Path path)
: 打开 path 指定的目录InputStream
newInputStream(Path path, OpenOption…how)
:获取 InputStream 对象OutputStream
newOutputStream(Path path, OpenOption…how)
: 获取 OutputStream 对象