自从java 7以来,引入了FIles类和Path接口。他们两封装了用户对文件的所有可能的操作,相比于java 1的File类来说,使用起来方便很多。但是其实一些本质的操作还是很类似的。主要需要知道的是,Path表示路径可以使文件的路径也可以是目录的路径,Files中所有成员都是静态方法,通过路径实现了对文件的基本操作。下面我们首先看看Path接口。
一、Path接口
和Path接口相关的还有一个类Paths,这个类非常简单,只有两个方法加一个私有构造方法。
public final class Paths { private Paths() { } public static Path get(String first, String... more) { return FileSystems.getDefault().getPath(first, more); } public static Path get(URI uri) {/*这个方法我们暂时不研究*/} }
大家可以看到,通过Paths的get静态方法,我们可以获得一个Path对象,而实际上我们通常都是通过Paths的这个get方法来获取Path对象。(至于怎么调用这个方法返回的对象,主要是通过调用文件系统的抽象方法来实现的),获得了Path对象,我们就可以调用其内部封装的所有的方法,由于方法比较多,我们一点一点看。
boolean isAbsolute();Path getFileName();Path getParent();int getNameCount();Path getName(int index);Path subpath(int beginIndex, int endIndex);Path resolve(Path other);Path resolveSibling(Path other);Path relativize(Path other);Path toAbsolutePath();File toFile();
主要的方法就这么多,其中有些方法的功能