java.nio --Path--Files--基本使用
2017-06-30 22:34
281 查看
Java NIO(New IO或 Non Blocking IO)是从java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。NIO支持面向缓冲区的、基于通道的IO操作。NIO将以更加高效的方式进行文件的读写操作。
接下来几天我将努力学习,并分享nio包学习成果以下是nio包 interface Path的基本使用
Path对象对应的是io包中的File对象
package com.xiaoqiang; import static org.junit.Assert.*; import java.io.File; import java.io.IOException; import java.net.URI; import java.nio.file.DirectoryStream; import java.nio.file.FileSystems; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import org.junit.Test; public class PathUser { @Test public void test1() throws Exception { // Path用于来表示文件路径和文件 // 常见的创建 Path对象 Path path1 = Paths.get("./", "src/", "photo"); Path path2 = Paths.get("./src/photo"); // path 1 和 path 2 表示相同 Path path3 = Paths.get(new URI("file:///G:/pic")); Path path4 = FileSystems.getDefault().getPath("./src/photo"); File file = path4.toFile(); Path path5 = file.toPath(); } /** * 等同File的操作 * * @throws Exception */ @Test public void test2() throws Exception { /** * ...为JDK1.5新特性 可变参数 */ // static FileTime getLastModifiedTime(Path path, LinkOption... options) // 返回文件的上次修改时间。 // static UserPrincipal getOwner(Path path, LinkOption... options) // 返回文件的所有者。 // static Set<PosixFilePermission> getPosixFilePermissions(Path path, // LinkOption... options) // 返回文件的POSIX文件权限。 // static boolean isDirectory(Path path, LinkOption... options) // 测试文件是否是目录。 // static boolean isExecutable(Path path) // 测试文件是否可执行。 // static boolean isHidden(Path path) // 告知文件是否被 隐藏 。 // static boolean isReadable(Path path) // 测试文件是否可读。 // static boolean isRegularFile(Path path, LinkOption... options) // 测试文件是否是具有不透明内容的常规文件。 // static boolean isSameFile(Path path, Path path2) // 测试两个路径是否找到相同的文件。 // static boolean isSymbolicLink(Path path) // 测试文件是否是符号链接。 // static boolean isWritable(Path path) // 测试文件是否可写。 } /** * 文件 创建 移动 重命名 复制 删除等 * * @throws Exception */ @Test public void test3() throws Exception { // static Path copy(Path source, Path target, CopyOption... options) // 将文件复制到目标文件。 // static Path createDirectories(Path dir, FileAttribute<?>... attrs) // 首先创建所有不存在的父目录来创建目录。 // static Path createDirectory(Path dir, FileAttribute<?>... attrs) // 创建一个新的目录。 // static Path createFile(Path path, FileAttribute<?>... attrs) // 创建一个新的和空的文件,如果该文件已存在失败。 // static Path createLink(Path link, Path existing) // 为现有文件创建新的链接(目录条目) (可选操作) // static void delete(Path path) // 删除文件。 // static boolean deleteIfExists(Path path) // 删除文件(如果存在)。 // static boolean exists(Path path, LinkOption... options) // 测试文件是否存在。 // static Path move(Path source, Path target, CopyOption... options) // 将文件移动或重命名为目标文件。 } @Test public void test4() throws Exception { // 遍历文件 // JDK 1.7 try-with-resources Path path = Paths.get("./src/photo"); try (DirectoryStream<Path> stream = Files.newDirectoryStream(path)) { for (Path p : stream) { System.out.println(p); } // stream.forEach(e -> System.out.println(e)); // forEach 为java1.8新特性 Lam 4000 bda表达式 } catch (IOException e) { e.printStackTrace(); } } }
JAVA 8 Lambda表达式使用-> click me
相关文章推荐
- 使用JDK1.7 java.nio.file.Files.walkFileTree方法遍历文件夹下的文件
- Java NIO基本使用
- Java NIO基本使用介绍
- Java NIO基本使用
- java_nio基础篇之Channel、Selector、Path、Paths、Pipe、Files
- java nio:Files.isSameFile判断两个路径(Path)是否相等
- 首次使用Oracle SQL Developer 提示: enter the full pathname for java.exe
- Java泛型一:基本介绍和使用
- java基础-泛型详解(1):基本使用
- Java基础知识强化之IO流笔记72:NIO之 NIO核心组件(NIO使用代码示例)
- Java网络编程——使用NIO实现非阻塞Socket通信
- Java NIO使用及原理分析(二)
- 求助!! android 上使用mina 出现java.net.SocketException: Too many open files
- Java 中FastJson的基本使用
- Java NIO原理和使用
- (十六)Core Java 枚举的使用(基本介绍,构造方法枚举,抽象方法枚举) (113)
- 不要在linux上使用java 7 Files的接口参数StandardOpenOption.DELETE_ON_CLOSE
- Java网络编程——使用NIO实现非阻塞Socket通信
- Java NIO之ByteBuffer使用记录
- JDK1.7 之java.nio.file.Files 读取文件仅需一行代码实现