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());
}
}
}
運行程序之前
運行程序後
相關用法
- Java java.nio.file.FileStore用法及代碼示例
- Java java.nio.file.LinkPermission用法及代碼示例
- Java java.nio.file.attribute.AclEntry用法及代碼示例
- Java java.nio.file.spi.FileTypeDetector用法及代碼示例
- Java java.nio.file.attribute.FileTime用法及代碼示例
- Java java.nio.file.FileSystems用法及代碼示例
- Java java.nio.file.FileSystem用法及代碼示例
- Java java.nio.file.Paths用法及代碼示例
- Java java.nio.ByteBuffer用法及代碼示例
- Java java.nio.IntBuffer用法及代碼示例
- Java java.nio.FloatBuffer用法及代碼示例
- Java java.nio.ShortBuffer用法及代碼示例
- Java java.nio.DoubleBuffer用法及代碼示例
- Java java.nio.channels.spi.SelectorProvider用法及代碼示例
- Java java.nio.charset.CoderResult用法及代碼示例
- Java java.nio.charset.CodingErrorAction用法及代碼示例
- Java java.nio.channels.spi.AsynchronousChannelProvider用法及代碼示例
- Java java.nio.charset.CharsetEncoder用法及代碼示例
- Java java.nio.charset.Charset用法及代碼示例
- Java java.nio.LongBuffer用法及代碼示例
- Java java.nio.channels.Selector用法及代碼示例
- Java java.nio.ByteOrder用法及代碼示例
- Java java.nio.CharBuffer用法及代碼示例
- Java java.nio.Buffer用法及代碼示例
- Java java.net.SocketException用法及代碼示例
注:本文由純淨天空篩選整理自abhinavjain194大神的英文原創作品 java.nio.file.SimpleFileVisitor Class in Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。