Java NIO学习之Paths、Files相关用法

Paths的用法

Paths主要用来处理文件路径,相比于传统靠String存储文件路径,Paths显得更直观、更简洁。

Paths主要初始化方法如下(D:\test\test):

// 第一种
Path path = Paths.get("D:\\test\\test");
// 第二种
Path path = Paths.get("D:/test/test");
// 第三种
Path path = Paths.get("D:/test","test");

如何获取到字符串格式的文件路径呢?

Path path = Paths.get("D:/test","test");
String filePath = path.toString();

Files的用法

这么一个场景,我需要遍历一个文件夹下所有的文件夹以及文件。
按照之前自已知道的肯定是去写递归函数去实现这个功能,今天就来点不一样的,Files的walkTree和walk方法就可以轻松实现文件夹遍历。

walkTree方法

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方法

Files.walk(path).forEach(path1 -> {
                if(Files.isRegularFile(path1)){
                    System.out.println(path1.toString());
                }
            });

以上代码就是实现了去遍历一个文件夹下所有的文件的功能,简洁吧!

好了,以上就是本篇文章的所有内容了,感谢阅读!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用Java中的`java.nio.file.Paths`类来获取文件路径的`Path`对象。具体用法如下: ``` import java.nio.file.Path; import java.nio.file.Paths; Path path = Paths.get("file.txt"); ``` 其中"file.txt"可以替换成你想要获取路径的文件名称。 另外,如果你想要读取文件内容,可以使用Java中的`java.nio.file.Files`类来读取文件内容。 ``` import java.nio.file.Paths; import java.nio.file.Files; Path path = Paths.get("file.txt"); byte[] data = Files.readAllBytes(path); String content = new String(data); ``` 其中 "file.txt"可以替换成你想要读取的文件名称。 ### 回答2: Java中,可以使用File类来获取文件或目录的路径信息,而java.nio.file.Paths类则提供了一种更方便、更灵活的方式来管理路径。 通过File类获取路径信息的方式相对简单,只需要创建一个File对象,然后调用其getPath()方法即可返回该文件或目录的路径。例如: File file = new File("C:/test.txt"); String path = file.getPath(); 而使用java.nio.file.Paths类获取路径信息更加灵活。可以使用Paths类提供的静态方法get()来创建一个Path对象,然后通过该对象来获取路径信息。例如: Path path = Paths.get("C:/test.txt"); String filePath = path.toString(); String fileName = path.getFileName().toString(); String directory = path.getParent().toString(); 通过上述代码,可以分别获取到文件的完整路径、文件名以及文件所在目录的路径。 使用java.nio.file.Paths类获取路径信息的优势在于,可以更加方便地操作路径。Paths类提供了一系列的方法,可以对路径进行拼接、替换、解析等操作,使得路径处理更加灵活和简便。 总而言之,通过File类可以直接获取到文件或目录的路径信息,而使用java.nio.file.Paths类则能够提供更加灵活、方便的路径管理方式,使得路径操作更加强大。 ### 回答3: Java从File获取到java.nio.file.Paths的过程相对简单。首先,我们需要创建一个File对象,该对象代表要操作的文件或目录。 可以使用以下方式创建File对象: ```java File file = new File("路径/文件名"); ``` 其中,路径可以是绝对路径或相对路径。如果是相对路径,则相对于当前工作目录。 接下来,我们可以使用File对象的toPath()方法将其转换为Path对象。toPath()方法是通过java.nio.file.Paths类来实现的。 使用toPath()方法的示例如下: ```java Path path = file.toPath(); ``` 现在,我们已经成功地将File对象转换为Path对象。Path对象可以用于访问和操作文件系统中的文件和目录。它提供了许多有用的方法,如获取文件的名称、父目录、根目录等。 值得注意的是,使用java.nio.file.Paths类的toFile()方法,我们还可以将Path对象转换回File对象,如下所示: ```java File file = path.toFile(); ``` 综上所述,通过创建File对象并使用其toPath()方法,我们可以轻松地获取到java.nio.file.Paths对象,以便进一步操作和管理文件和目录。这方便了Java程序员使用更强大、更灵活的NIO.2 API进行文件操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值