FileListingService

public final class FileListingService
extends Object

java.lang.Object
com.android.ddmlib.FileListingService


Предоставляет услугу листинга файлов на стороне IDevice .

Краткое содержание

Вложенные классы

class FileListingService.FileEntry

Представляет запись в каталоге.

interface FileListingService.IListingReceiver

Классы, реализующие этот интерфейс, предоставляют метод, который обрабатывает асинхронный результат команды ls на устройстве.

Константы

String DIRECTORY_APP

Папка приложения.

String DIRECTORY_DATA

Папка данных верхнего уровня.

String DIRECTORY_MNT

Папка монтирования верхнего уровня.

String DIRECTORY_SDCARD

Папка верхнего уровня на SD-карте.

String DIRECTORY_SYSTEM

Системная папка верхнего уровня.

String DIRECTORY_TEMP

Временная папка верхнего уровня.

String FILE_SEPARATOR

Разделитель файлов на стороне устройства.

long REFRESH_RATE

int TYPE_BLOCK

Тип записи: Блок

int TYPE_CHARACTER

Тип записи: Персонаж

int TYPE_DIRECTORY

Тип записи: Справочник

int TYPE_DIRECTORY_LINK

Тип записи: Ссылка на каталог

int TYPE_FIFO

Тип записи: FIFO

int TYPE_FILE

Тип записи: Файл

int TYPE_LINK

Тип записи: Ссылка

int TYPE_OTHER

Тип записи: Другое

int TYPE_SOCKET

Тип входа: Гнездо

Поля

public static final Pattern LS_LD_PATTERN

public static final Pattern LS_L_PATTERN

Шаблон регулярного выражения для анализа результата ls.

public static final Pattern STAT_PATTERN

Шаблон регулярного выражения для анализа результата из stat.

Публичные конструкторы

FileListingService ( IDevice device)

Создает службу листинга файлов для указанного IDevice .

Публичные методы

FileEntry[] getChildren ( FileListingService.FileEntry entry, boolean useCache, FileListingService.IListingReceiver receiver)

Возвращает дочерние элементы FileEntry .

FileEntry[] getChildrenSync ( FileListingService.FileEntry entry)

Возвращает дочерние элементы FileEntry .

FileListingService.FileEntry getRoot ()

Возвращает корневой элемент.

Константы

ПРИЛОЖЕНИЕ_КАТАЛОГА

public static final String DIRECTORY_APP

Папка приложения.

Постоянное значение: «app»

ДАННЫЕ_КАТАЛОГА

public static final String DIRECTORY_DATA

Папка данных верхнего уровня.

Постоянное значение: «данные»

СПРАВОЧНИК_МНТ

public static final String DIRECTORY_MNT

Папка монтирования верхнего уровня.

Постоянное значение: «mnt»

КАТАЛОГ_SDCARD

public static final String DIRECTORY_SDCARD

Папка верхнего уровня на SD-карте.

Постоянное значение: «sdcard»

СИСТЕМА_КАТАЛОГА

public static final String DIRECTORY_SYSTEM

Системная папка верхнего уровня.

Постоянное значение: «система»

DIRECTORY_TEMP

public static final String DIRECTORY_TEMP

Временная папка верхнего уровня.

Постоянное значение: «tmp»

FILE_SEPARATOR

public static final String FILE_SEPARATOR

Разделитель файлов на стороне устройства.

Постоянное значение: "/"

REFRESH_RATE

public static final long REFRESH_RATE

Постоянное значение: 5000 (0x0000000000001388)

ТИП_БЛОК

public static final int TYPE_BLOCK

Тип записи: Блок

Постоянное значение: 3 (0x00000003)

ТИП_ПЕРСОНАЖА

public static final int TYPE_CHARACTER

Тип записи: Персонаж

Постоянное значение: 4 (0x00000004)

ТИП_КАТАЛОГА

public static final int TYPE_DIRECTORY

Тип записи: Справочник

Постоянное значение: 1 (0x00000001)

public static final int TYPE_DIRECTORY_LINK

Тип записи: Ссылка на каталог

Постоянное значение: 2 (0x00000002)

TYPE_FIFO

public static final int TYPE_FIFO

Тип записи: FIFO

Постоянное значение: 7 (0x00000007)

ТИП_ФАЙЛА

public static final int TYPE_FILE

Тип записи: Файл

Постоянное значение: 0 (0x00000000)

public static final int TYPE_LINK

Тип записи: Ссылка

Постоянное значение: 5 (0x00000005)

ТИП_ДРУГОЙ

public static final int TYPE_OTHER

Тип записи: Другое

Постоянное значение: 8 (0x00000008)

ТИП_СОКЕТ

public static final int TYPE_SOCKET

Тип входа: Гнездо

Постоянное значение: 6 (0x00000006)

Поля

LS_LD_PATTERN

public static final Pattern LS_LD_PATTERN

LS_L_PATTERN

public static final Pattern LS_L_PATTERN

Шаблон регулярного выражения для анализа результата ls.

STAT_PATTERN

public static final Pattern STAT_PATTERN

Шаблон регулярного выражения для анализа результата из stat. Пример: drwxr-xr-x root root 2021-08-02 09:20:53.000000000 -0700 4096 /

Публичные конструкторы

FileListingService

public FileListingService (IDevice device)

Создает службу листинга файлов для указанного IDevice .

Параметры
device IDevice : Устройство, к которому подключена служба.

Публичные методы

getChildren

public FileEntry[] getChildren (FileListingService.FileEntry entry, 
                boolean useCache, 
                FileListingService.IListingReceiver receiver)

Возвращает дочерние элементы FileEntry .

Этот метод поддерживает механизм кэширования, а также синхронный и асинхронный режимы.

Если receiver равен null , команда ls на стороне устройства выполняется синхронно, и метод вернет управление после завершения команды.
Если receiver не null , команда запускается в отдельном потоке и по завершении приемник будет уведомлен о результате.

Результат каждой команды ls кэшируется в родительском FileEntry . useCache позволяет использовать этот кэш, но только если он действителен. Кэш действителен только в течение FileListingService.REFRESH_RATE мс. После этого всегда выполняется новая команда ls .

Если кэш действителен и useCache == true , метод всегда будет просто возвращать значение кэша, независимо от того, был ли предоставлен IListingReceiver или нет.

Параметры
entry FileListingService.FileEntry : Родительская запись.

useCache boolean : флаг использования кэша или принудительного выполнения новой команды ls.

receiver FileListingService.IListingReceiver : Приемник для асинхронных вызовов.

Возврат
FileEntry[] Список дочерних элементов или null для асинхронных вызовов.

getChildrenSync

public FileEntry[] getChildrenSync (FileListingService.FileEntry entry)

Возвращает дочерние элементы FileEntry .

Этот метод является явной синхронной версией метода getChildren(com.android.ddmlib.FileListingService.FileEntry, boolean, com.android.ddmlib.FileListingService.IListingReceiver) . Он примерно эквивалентен вызову метода getChildren(FileEntry, false, null).

Параметры
entry FileListingService.FileEntry : Родительская запись.

Возврат
FileEntry[] Список детей

Броски
TimeoutException в случае тайм-аута соединения при отправке команды.
AdbCommandRejectedException если adb отклоняет команду.
ShellCommandUnresponsiveException в случае, если команда оболочки не отправляет никаких выходных данных в течение периода, превышающего maxTimeToOutputResponse .
в случае ошибки ввода-вывода при соединении.

получитьRoot

public FileListingService.FileEntry getRoot ()

Возвращает корневой элемент.

Возврат
FileListingService.FileEntry объект FileEntry представляющий корневой элемент, или null если устройство недействительно.