Paths的用法
Paths主要用来处理文件路径,相比于传统靠String存储文件路径,Paths显得更直观、更简洁。
Paths主要初始化方法如下(D:\test\test):
java
// 第一种
Path path = Paths.get("D:\\test\\test");
// 第二种
Path path = Paths.get("D:/test/test");
// 第三种
Path path = Paths.get("D:/test","test");
如何获取到字符串格式的文件路径呢?
java
Path path = Paths.get("D:/test","test");
String filePath = path.toString();
Files的用法
这么一个场景,我需要遍历一个文件夹下所有的文件夹以及文件。
按照之前自已知道的肯定是去写递归函数去实现这个功能,今天就来点不一样的,Files的walkTree和walk方法就可以轻松实现文件夹遍历。
walkTree方法
java
Files.walkFileTree(path, new SimpleFileVisitor<Path>(){
@Override
public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException {
return super.preVisitDirectory(dir, attrs);
}
@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
return super.visitFile(file, attrs);
}
@Override
public FileVisitResult visitFileFailed(Path file, IOException exc) throws IOException {
return super.visitFileFailed(file, exc);
}
@Override
public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOException {
return super.postVisitDirectory(dir, exc);
}
});
说明:
- preVisitDirectory:在访问文件前
- visitFile:访问文件
- visitFileFailed:访问文件失败
- postVisitDirectory:在访问文件夹后
walk方法
java
Files.walk(path).forEach(path1 -> {
if(Files.isRegularFile(path1)){
System.out.println(path1.toString());
}
});
以上代码就是实现了去遍历一个文件夹下所有的文件的功能,简洁吧!
好了,以上就是本篇文章的所有内容了,感谢阅读!