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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。