Compartir a través de


IFileVisitor Interfaz

Definición

Visitante de archivos.

[Android.Runtime.Register("java/nio/file/FileVisitor", "", "Java.Nio.FileNio.IFileVisitorInvoker", ApiSince=26)]
[Java.Interop.JavaTypeParameters(new System.String[] { "T" })]
public interface IFileVisitor : Android.Runtime.IJavaObject, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("java/nio/file/FileVisitor", "", "Java.Nio.FileNio.IFileVisitorInvoker", ApiSince=26)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T" })>]
type IFileVisitor = interface
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Derivado
Atributos
Implementaciones

Comentarios

Visitante de archivos. Se proporciona una implementación de esta interfaz a los Files#walkFileTree Files.walkFileTree métodos para visitar cada archivo de un árbol de archivos.

<b>Ejemplos de uso:</b> Supongamos que queremos eliminar un árbol de archivos. En ese caso, cada directorio debe eliminarse después de eliminar las entradas del directorio.

Path start = ...
                Files.walkFileTree(start, new SimpleFileVisitor&lt;Path&gt;() {
                    &#64;Override
                    public FileVisitResult visitFile(Path file, BasicFileAttributes attrs)
                        throws IOException
                    {
                        Files.delete(file);
                        return FileVisitResult.CONTINUE;
                    }
                    &#64;Override
                    public FileVisitResult postVisitDirectory(Path dir, IOException e)
                        throws IOException
                    {
                        if (e == null) {
                            Files.delete(dir);
                            return FileVisitResult.CONTINUE;
                        } else {
                            // directory iteration failed
                            throw e;
                        }
                    }
                });

Además, supongamos que queremos copiar un árbol de archivos en una ubicación de destino. En ese caso, se deben seguir vínculos simbólicos y se debe crear el directorio de destino antes de copiar las entradas del directorio.

final Path source = ...
                final Path target = ...

                Files.walkFileTree(source, EnumSet.of(FileVisitOption.FOLLOW_LINKS), Integer.MAX_VALUE,
                    new SimpleFileVisitor&lt;Path&gt;() {
                        &#64;Override
                        public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs)
                            throws IOException
                        {
                            Path targetdir = target.resolve(source.relativize(dir));
                            try {
                                Files.copy(dir, targetdir);
                            } catch (FileAlreadyExistsException e) {
                                 if (!Files.isDirectory(targetdir))
                                     throw e;
                            }
                            return CONTINUE;
                        }
                        &#64;Override
                        public FileVisitResult visitFile(Path file, BasicFileAttributes attrs)
                            throws IOException
                        {
                            Files.copy(file, target.resolve(source.relativize(file)));
                            return CONTINUE;
                        }
                    });

Agregado en la versión 1.7.

Documentación de Java para java.nio.file.FileVisitor.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Propiedades

Handle

Obtiene el valor JNI del objeto Android subyacente.

(Heredado de IJavaObject)
JniIdentityHashCode

Devuelve el valor de java.lang.System.identityHashCode() para la instancia ajustada.

(Heredado de IJavaPeerable)
JniManagedPeerState

Estado del mismo nivel administrado.

(Heredado de IJavaPeerable)
JniPeerMembers

Compatibilidad con la invocación y el acceso de miembros.

(Heredado de IJavaPeerable)
PeerReference

Devuelve una JniObjectReference de la instancia de objeto Java ajustada.

(Heredado de IJavaPeerable)

Métodos

Disposed()

Se llama cuando se ha eliminado la instancia.

(Heredado de IJavaPeerable)
DisposeUnlessReferenced()

Si no hay referencias pendientes a esta instancia, llama a Dispose(); de lo contrario, no hace nada.

(Heredado de IJavaPeerable)
Finalized()

Se llama cuando se ha finalizado la instancia.

(Heredado de IJavaPeerable)
PostVisitDirectory(Object, IOException)

Se ha invocado para un directorio después de las entradas del directorio y de todos sus descendientes.

PreVisitDirectory(Object, IBasicFileAttributes)

Se invoca para un directorio antes de visitar las entradas del directorio.

SetJniIdentityHashCode(Int32)

Establezca el valor devuelto por JniIdentityHashCode.

(Heredado de IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Visitante de archivos.

(Heredado de IJavaPeerable)
SetPeerReference(JniObjectReference)

Establezca el valor devuelto por PeerReference.

(Heredado de IJavaPeerable)
UnregisterFromRuntime()

Anule el registro de esta instancia para que el entorno de ejecución no lo devuelva de invocaciones futuras Java.Interop.JniRuntime+JniValueManager.PeekValue .

(Heredado de IJavaPeerable)
VisitFile(Object, IBasicFileAttributes)

Se invoca para un archivo en un directorio.

VisitFileFailed(Object, IOException)

Se invoca para un archivo que no se pudo visitar.

Métodos de extensión

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

Visitante de archivos.

GetJniTypeName(IJavaPeerable)

Visitante de archivos.

Se aplica a