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

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

NIO.2

jdk1.7中,java对 NIO 极大的扩展,主要增强的是对文件处理 和 文件系统特性的支持

 

关于其中一些API的使用

1 public class TestNIO_2_Path_File {  2       3     //自动资源管理:自动关闭实现 AutoCloseable 接口的资源  4     /*@Test  5         public void test8(){  6             try(FileChannel inChannel = FileChannel.open(Paths.get("1.jpg"), StandardOpenOption.READ);  7                     FileChannel outChannel = FileChannel.open(Paths.get("2.jpg"), StandardOpenOption.WRITE, StandardOpenOption.CREATE)){  8                   9                 ByteBuffer buf = ByteBuffer.allocate(1024); 10                 inChannel.read(buf); 11                  12             }catch(IOException e){ 13                  14             } 15         }*/ 16      17     /* 18     Files常用方法:用于操作内容 19         SeekableByteChannel newByteChannel(Path path, OpenOption…how) : 获取与指定文件的连接,how 指定打开方式。 20         DirectoryStream newDirectoryStream(Path path) : 打开 path 指定的目录 21         InputStream newInputStream(Path path, OpenOption…how):获取 InputStream 对象 22         OutputStream newOutputStream(Path path, OpenOption…how) : 获取 OutputStream 对象 23      */ 24     @Test 25     public void test7() throws IOException{ 26         SeekableByteChannel newByteChannel = Files.newByteChannel(Paths.get("1.jpg"), StandardOpenOption.READ); 27          28         DirectoryStream
newDirectoryStream = Files.newDirectoryStream(Paths.get("e:/")); 29 30 for (Path path : newDirectoryStream) { 31 System.out.println(path); 32 } 33 } 34 35 /* 36 Files常用方法:用于判断 37 boolean exists(Path path, LinkOption … opts) : 判断文件是否存在 38 boolean isDirectory(Path path, LinkOption … opts) : 判断是否是目录 39 boolean isExecutable(Path path) : 判断是否是可执行文件 40 boolean isHidden(Path path) : 判断是否是隐藏文件 41 boolean isReadable(Path path) : 判断文件是否可读 42 boolean isWritable(Path path) : 判断文件是否可写 43 boolean notExists(Path path, LinkOption … opts) : 判断文件是否不存在 44 public static
A readAttributes(Path path,Class
type,LinkOption... options) : 获取与 path 指定的文件相关联的属性。 45 */ 46 47 @Test 48 public void test6() throws IOException{ 49 Path path = Paths.get("1.jpg"); 50 // System.out.println(Files.exists(path, LinkOption.NOFOLLOW_LINKS)); 51 52 BasicFileAttributes readAttributes = Files.readAttributes(path, BasicFileAttributes.class, LinkOption.NOFOLLOW_LINKS); 53 System.out.println(readAttributes.creationTime()); 54 System.out.println(readAttributes.lastModifiedTime()); 55 56 DosFileAttributeView fileAttributeView = Files.getFileAttributeView(path, DosFileAttributeView.class, LinkOption.NOFOLLOW_LINKS); 57 58 fileAttributeView.setHidden(false); 59 } 60 61 /* 62 Files常用方法: 63 Path copy(Path src, Path dest, CopyOption … how) : 文件的复制 64 Path createDirectory(Path path, FileAttribute
… attr) : 创建一个目录 65 Path createFile(Path path, FileAttribute
… arr) : 创建一个文件 66 void delete(Path path) : 删除一个文件 67 Path move(Path src, Path dest, CopyOption…how) : 将 src 移动到 dest 位置 68 long size(Path path) : 返回 path 指定文件的大小 69 */ 70 71 @Test 72 public void test5() throws IOException{ 73 Path path2 = Paths.get("E:/jucAndnioCode/NIO/1.jpg"); 74 75 System.out.println(Files.size(path2)); 76 77 // Files.move(path1, path2, StandardCopyOption.ATOMIC_MOVE); 78 } 79 80 @Test 81 public void test4() throws IOException{ 82 Path dir = Paths.get("e:/nio/nio2"); 83 // Files.createDirectory(dir); 84 85 Path file = Paths.get("E:/jucAndnioCode/NIO/1.jpg"); 86 // Files.createFile(file); 87 88 Files.deleteIfExists(file); 89 } 90 91 @Test 92 public void test3() throws IOException{ 93 Path path1 = Paths.get("1.jpg"); 94 Path path2 = Paths.get("4.jpg"); 95 96 Files.copy(path1, path2, StandardCopyOption.REPLACE_EXISTING); 97 } 98 99 /*100 Paths 提供的 get() 方法用来获取 Path 对象:101 Path get(String first, String … more) : 用于将多个字符串串连成路径。102 Path 常用方法:103 boolean endsWith(String path) : 判断是否以 path 路径结束104 boolean startsWith(String path) : 判断是否以 path 路径开始105 boolean isAbsolute() : 判断是否是绝对路径106 Path getFileName() : 返回与调用 Path 对象关联的文件名107 Path getName(int idx) : 返回的指定索引位置 idx 的路径名称108 int getNameCount() : 返回Path 根目录后面元素的数量109 Path getParent() :返回Path对象包含整个路径,不包含 Path 对象指定的文件路径110 Path getRoot() :返回调用 Path 对象的根路径111 Path resolve(Path p) :将相对路径解析为绝对路径112 Path toAbsolutePath() : 作为绝对路径返回调用 Path 对象113 String toString() : 返回调用 Path 对象的字符串表示形式114 */115 116 @Test117 public void test2(){118 Path path = Paths.get("e:/nio/hello.txt");119 120 System.out.println(path.getParent());121 System.out.println(path.getRoot());122 123 // Path newPath = path.resolve("e:/hello.txt");124 // System.out.println(newPath);125 126 Path path2 = Paths.get("1.jpg");127 Path newPath = path2.toAbsolutePath();128 System.out.println(newPath);129 130 System.out.println(path.toString());131 }132 133 @Test134 public void test1(){135 Path path = Paths.get("e:/", "nio/hello.txt");136 137 System.out.println(path.endsWith("hello.txt"));138 System.out.println(path.startsWith("e:/"));139 140 System.out.println(path.isAbsolute());141 System.out.println(path.getFileName());142 143 for (int i = 0; i < path.getNameCount(); i++) {144 System.out.println(path.getName(i));145 }146 }147 }

 

转载于:https://www.cnblogs.com/xuzekun/p/7435713.html

你可能感兴趣的文章
Android eclipse中程序调试
查看>>
从邮件用自己的应用程序打开关联文件的思路总结
查看>>
安装vmware-tools出错:Execution aborted!!!
查看>>
NSIS:卸载时选择组件
查看>>
mysql Encryption and Compression Functions
查看>>
Python中if __name__ == '__main__':作用
查看>>
使用 Versions for mac 进行版本控制
查看>>
Session
查看>>
WPF 气泡尖角在左边、下面、右边、上面
查看>>
android中ADT和SDK的关系(转)
查看>>
查看sqlserver被锁的表以及如何解锁
查看>>
微软一站式示例代码库
查看>>
[Python] Unofficial Windows Binaries for Python Extension Packages
查看>>
MongoDB操作(.net)
查看>>
使用Json让Java和C#沟通的方法
查看>>
Java正則表達式入门
查看>>
php教程之php空白页的原因及解决方法
查看>>
VelocityTracker简单介绍
查看>>
ios开发中object-c中UTF-8 和 GBK 的 NSString 相互转化的方法
查看>>
Jump的计划
查看>>