IFileVisitor Интерфейс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Посетитель файлов.
[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
- Производный
- Атрибуты
- Реализации
Комментарии
Посетитель файлов. Реализация этого интерфейса предоставляется Files#walkFileTree Files.walkFileTree
методам для посещения каждого файла в дереве файлов.
<b>Примеры использования:</b> Предположим, что мы хотим удалить дерево файлов. В этом случае каждый каталог должен быть удален после удаления записей в каталоге.
Path start = ...
Files.walkFileTree(start, new SimpleFileVisitor<Path>() {
@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs)
throws IOException
{
Files.delete(file);
return FileVisitResult.CONTINUE;
}
@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;
}
}
});
Кроме того, предположим, что мы хотим скопировать дерево файлов в целевое расположение. В этом случае следует следовать символьным ссылкам и создать целевой каталог перед копированием записей в каталоге.
final Path source = ...
final Path target = ...
Files.walkFileTree(source, EnumSet.of(FileVisitOption.FOLLOW_LINKS), Integer.MAX_VALUE,
new SimpleFileVisitor<Path>() {
@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;
}
@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs)
throws IOException
{
Files.copy(file, target.resolve(source.relativize(file)));
return CONTINUE;
}
});
Добавлено в версии 1.7.
Документация по Java для java.nio.file.FileVisitor
.
Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом Android и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License.
Свойства
Handle |
Возвращает значение JNI базового объекта Android. (Унаследовано от IJavaObject) |
JniIdentityHashCode |
Возвращает значение |
JniManagedPeerState |
Состояние управляемого однорангового узла. (Унаследовано от IJavaPeerable) |
JniPeerMembers |
Поддержка доступа к членам и вызова. (Унаследовано от IJavaPeerable) |
PeerReference |
Возвращает экземпляр JniObjectReference объекта Java, заключенный в оболочку. (Унаследовано от IJavaPeerable) |
Методы
Disposed() |
Вызывается при удалении экземпляра. (Унаследовано от IJavaPeerable) |
DisposeUnlessReferenced() |
Если отсутствуют невыполненные ссылки на этот экземпляр, вызывает метод |
Finalized() |
Вызывается при завершении работы экземпляра. (Унаследовано от IJavaPeerable) |
PostVisitDirectory(Object, IOException) |
Вызывается для каталога после посещения записей в каталоге и всех их потомков. |
PreVisitDirectory(Object, IBasicFileAttributes) |
Вызывается для каталога перед посещением записей в каталоге. |
SetJniIdentityHashCode(Int32) |
Задайте значение, возвращаемое . |
SetJniManagedPeerState(JniManagedPeerStates) |
Посетитель файлов. (Унаследовано от IJavaPeerable) |
SetPeerReference(JniObjectReference) |
Задайте значение, возвращаемое . |
UnregisterFromRuntime() |
Отмените регистрацию этого экземпляра, чтобы среда выполнения не возвращала его из будущих Java.Interop.JniRuntime+JniValueManager.PeekValue вызовов. (Унаследовано от IJavaPeerable) |
VisitFile(Object, IBasicFileAttributes) |
Вызывается для файла в каталоге. |
VisitFileFailed(Object, IOException) |
Вызывается для файла, который не удалось посетить. |
Методы расширения
JavaCast<TResult>(IJavaObject) |
Выполняет преобразование типа, проверенного средой выполнения Android. |
JavaCast<TResult>(IJavaObject) |
Посетитель файлов. |
GetJniTypeName(IJavaPeerable) |
Посетитель файлов. |