當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。