当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java java.nio.file.SimpleFileVisitor用法及代码示例


java.nio.file.SimpleFileVisitor 类用于访问目录中的所有文件,并在发生 I/O 错误时重新抛出 I/O 异常。

类声明:

public class SimpleFileVisitor<T>
extends Object
implements FileVisitor<T>

构造函数:

  • 受保护SimpleFileVIsitor():创建 SimpleFileVisitor 类的新对象。

方法:

方法

说明

public FileVisitResult preVisitDirectory(T 目录, BasicFileAttributes 属性)

在访问条目之前为此目录调用此方法。除非被覆盖,否则此方法将返回 CONTINUE。

public FileVisitResult postVisitDirectory(T 目录, IOException e)

在访问条目后,为此目录调用此方法。除非被覆盖,否则此方法将返回 CONTINUE。

公共FileVisitResult访问文件(T文件,BasicFileAttributes属性)

之前在目录中为该文件调用此方法。除非被覆盖,否则此方法将返回 CONTINUE。

public FileVisitResult VisitFileFailed(T 文件, IOException 异常)

对于无法访问的文件调用此方法。除非被重写,否则此方法将重新引发 I/O 异常。这是阻止文件被访问的异常。

1.public FileVisitResult preVisitDirectory(T目录,BasicFileAttributes属性):在访问 中的条目之前,会为此目录调用此方法。该方法返回到CONTINUE除非被覆盖.

参数:
directory- reference to this directory.
attributes- attributes of this directory.

返回: the file visit result.

Throws: I/O Exception.

2.public FileVisitResult postVisitDirectory(T directory, IOException e):在访问 中的条目后,为此目录调用此方法。除非被覆盖,否则此方法将返回 CONTINUE。

参数:
directory- reference to this directory.
e- NULL if there is no error in this directory's 
iteration,else the I/O exception.

返回: the file visit result.

Throws: I/O Exception.

3.public FileVisitResult VisitFile(T file, BasicFileAttributes attribute):在目录中之前为该文件调用此方法。除非被覆盖,否则此方法将返回 CONTINUE。

参数:
file- reference to this file.
attributes- attributes of this file.

返回: the file visit result.

Throws: I/O Exception 

4.publicFileVisitResultvisitFileFailed(T file, IOException异常):对于无法访问的文件调用该方法。除非被重写,否则此方法将重新引发 I/O 异常。这是阻止文件被访问的异常。

参数:
file - reference to this file.
exc - exception that prevented the file from being visited.

Returns: the file visit result.

Throws: I/O Exception 

Java


// Java program to demonstrate working of simpleFileVisitor
// class
import java.io.IOException;
import java.nio.file.*;
import java.nio.file.attribute.*;
public class FileVisitorDemo
    extends SimpleFileVisitor<Path> {
    public FileVisitResult
    visitFile(Path file, BasicFileAttributes atts)
        throws IOException
    {
        if (file.getFileName().toString().endsWith(
                ".txt")) { // delete files ending with .txt
            Files.delete(file);
        } // return result of the operation
        return FileVisitResult.CONTINUE;
    }
    // Method to print message if file visit was not
    // successful
    public FileVisitResult visitFileFailed(Path file,
                                           IOException e)
        throws IOException
    {
        System.err.println("File could not be visited");
        return FileVisitResult.CONTINUE;
    }
    public static void main(String args[]) throws Exception
    {
        FileVisitorDemo visitor = new FileVisitorDemo();
        try {
            // visiting all files at
            // "/Users/abhinavjain194/desktop/visit"
            Files.walkFileTree(
                Paths.get(
                    "/Users/abhinavjain194/desktop/visit"),
                visitor);
        }
        catch (Exception e) { // printing error if occurred
            System.err.print(e.toString());
        }
    }
}

运行程序之前

运行程序后



相关用法


注:本文由纯净天空筛选整理自abhinavjain194大神的英文原创作品 java.nio.file.SimpleFileVisitor Class in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。