广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

惠州Java文件树是什么?_北大青鸟IT学校

作者:邓华发布时间:2021-04-14分类:Java技术浏览:1012


导读:Java文件树是什么?这是大家在学习Java的过程都会遇到的问题,那么下面我们一起来看看惠州北大青鸟学术部老师是怎么讲解这道题的。

Java文件树是什么?这是大家在学习Java的过程都会遇到的问题,那么下面我们一起来看看惠州北大青鸟学术部老师是怎么讲解这道题的。

FileVisitor API可以递归地处理文件树中的所有文件和目录。

当我们要对文件树中的所有或某些文件或目录执行某些操作时,FileVisitor API非常有用。

SimpleFileVisitor类是FileVisitor接口的基本实现。

当访问文件/目录时,SimpleFileVisitor类不执行任何操作。我们可以从SimpleFileVisitor类继承我们的文件访问类,并且只覆盖适合我们需要的方法。

FileVisitor接口的方法:

ID                      含义

1                        FileVisitResult preVisitDirectory(T dir,BasicFileAttributes attrs) 在访问目录中的条目之前调用一次。    

2                        FileVisitResult postVisitDirectory(T dir,IOException exc) 已访问目录中的后调用项。如果在目录的迭代期间抛出                            了任何异常,则将异常对象作为第二个参数传递给此方法。如果此方法的第二个参数为null,则在目录迭代期间没有异                              常。    

3                        FileVisitResult visitFile(T文件,BasicFileAttributes attrs) 当访问目录中的文件时调用。    

4                        FileVisitResult visitFileFailed(T文件,IOException exc) 当由于任何原因而无法访问文件或目录时调用。    

下表列出了FileVisitResult的枚举常量及其说明

枚举常量             描述

CONTINUE         继续处理    

SKIP_SIBLINGS   继续处理而不访问文件或目录的兄弟节点。    

SKIP_SUBTREE    继续处理,而不访问目录中的条目。    

TERMINATE         终止文件访问过程。    

我们不需要在我们的文件访问类的所有四个方法中编写逻辑。要复制目录,请使用preVisitDirectory()方法来创建一个新目录和visitFile()方法来复制文件。

以下代码显示如何打印目录的子目录和文件的名称。

import static java.nio.file.FileVisitResult.CONTINUE;import java.io.IOException;import java.nio.file.FileVisitResult;import java.nio.file.FileVisitor;import java.nio.file.Files;import java.nio.file.Path;import java.nio.file.Paths;import java.nio.file.SimpleFileVisitor;import java.nio.file.attribute.BasicFileAttributes;public class Main {  public static void main(String[] args) {
   Path startDir = Paths.get("");
   FileVisitor<Path> visitor = getFileVisitor();    try {
     Files.walkFileTree(startDir, visitor);
   } catch (IOException e) {
     e.printStackTrace();
   }
 }  public static FileVisitor<Path> getFileVisitor() {    class DirVisitor<Path> extends SimpleFileVisitor<Path> {
     @Override      public FileVisitResult preVisitDirectory(Path dir,
         BasicFileAttributes attrs) {

       System.out.format("%s [Directory]%n", dir);        return CONTINUE;
     }

     @Override      public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) {
       System.out.format("%s [File,  Size: %s  bytes]%n", file, attrs.size());        return CONTINUE;
     }
   }
   FileVisitor<Path> visitor = new DirVisitor<>();    return visitor;
 }
}

上面的代码生成以下结果。

Java文件树.png

想学Java的同学们,可以来惠州北大青鸟新方舟校区详细了解。

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学校北大青鸟IT软件学校北大青鸟IT学校


Java技术排行
标签列表
网站分类
文章归档
最近发表