Posts

Showing posts from June, 2018

操作文件

之前我们所讨论的输入输出流类关心的是文件的内容,而我们在此处要讨论的类关心的是在磁盘上如何储存文件。我将在下文介绍Path接口和Files类,它们是在 JavaSE 7中新添加进来的   它们用起来比自JDK 1.0以来就一直使用的一直使用的File类要方便的多 Path Path表示的是一个目录名序列,其后还可以跟一个文件名。 首先我们要理解 绝对路径 和 相对路径 的概念 绝对路径和相对路径: 以跟部件开始的路径是绝对路径;否则,就是相对路径。 当指定一个相对文件名(相对路径)时,例如"myfile.txt","mydirectory/myfile.txt"。 则文件位于JAVA虚拟机启动的路径的相对位置    System.getProperty("user.dir"); //得到JAVA虚拟机启动路径的相对位置 //命令行方式下启动路径就是命令解释器的当前路径 //如果使用集成开发环境,则启动路径由IDE控制 方法 获取路径: Java.nio.file.Paths 7 static Path get(String first,String ... more); 静态的Paths.get方法接受一个或多个字符串,并将它们用默认文件系统的路径分隔符连接起来 也接受含多个部件构成的单个字符串(例如" E:\\JDK源码\\javax\\lang\\model " ) 组合/解析路径: Java.nio.file.Path 7 Path resolve(Path other) 调用p.resolve(q)按照下列规则返回一个路径(Path) 如果q是绝对路径,则结果为q 否则,根据文件系统的规则,将“p后面跟着q”作为结果 Path resolve(String other) resolve方法有个便捷方式,他接受一个字符串而不是路径 Path resolveSibling(Path other) Path resolveSibling(String other) 如果other是绝对路径,那么就返回other;否则,返回通过连接this的父路径和other