FileListingService
public
final
class
FileListingService
extends Object
| java.lang.Object | |
| ↳ | com.android.ddmlib.FileListingService |
提供 IDevice 边文件列表服务。
摘要
嵌套类 | |
|---|---|
class |
FileListingService.FileEntry
表示目录中的一个条目。 |
interface |
FileListingService.IListingReceiver
实现此接口的类提供了一种方法,用于处理设备上 |
常量 | |
|---|---|
String |
DIRECTORY_APP
应用文件夹。 |
String |
DIRECTORY_DATA
顶级数据文件夹。 |
String |
DIRECTORY_MNT
顶级装载文件夹。 |
String |
DIRECTORY_SDCARD
顶层 sdcard 文件夹。 |
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
用于解析来自统计信息的相应结果的正则表达式模式。 |
公共构造函数 | |
|---|---|
FileListingService(IDevice device)
为指定的 |
|
公共方法 | |
|---|---|
FileEntry[]
|
getChildren(FileListingService.FileEntry entry, boolean useCache, FileListingService.IListingReceiver receiver)
返回 |
FileEntry[]
|
getChildrenSync(FileListingService.FileEntry entry)
返回 |
FileListingService.FileEntry
|
getRoot()
返回根元素。 |
常量
DIRECTORY_APP
public static final String DIRECTORY_APP
应用文件夹。
常量值: “app”
DIRECTORY_DATA
public static final String DIRECTORY_DATA
顶级数据文件夹。
常量值: "data"
DIRECTORY_MNT
public static final String DIRECTORY_MNT
顶层装载文件夹。
常量值: "mnt"
DIRECTORY_SDCARD
public static final String DIRECTORY_SDCARD
顶层 SD 卡文件夹。
常量值: "sdcard"
DIRECTORY_SYSTEM
public static final String DIRECTORY_SYSTEM
顶层系统文件夹。
常量值: "system"
DIRECTORY_TEMP
public static final String DIRECTORY_TEMP
顶级临时文件夹。
常量值: “tmp”
FILE_SEPARATOR
public static final String FILE_SEPARATOR
设备端文件分隔符。
常量值: "/"
刷新率
public static final long REFRESH_RATE
常量值: 5000 (0x0000000000001388)
TYPE_BLOCK
public static final int TYPE_BLOCK
条目类型:屏蔽
常量值: 3 (0x00000003)
TYPE_CHARACTER
public static final int TYPE_CHARACTER
条目类型:角色
常量值: 4 (0x00000004)
TYPE_DIRECTORY
public static final int TYPE_DIRECTORY
条目类型:目录
常量值: 1 (0x00000001)
TYPE_DIRECTORY_LINK
public static final int TYPE_DIRECTORY_LINK
条目类型:目录链接
常量值: 2 (0x00000002)
TYPE_FIFO
public static final int TYPE_FIFO
条目类型:FIFO
常量值: 7 (0x00000007)
TYPE_FILE
public static final int TYPE_FILE
条目类型:文件
常量值: 0 (0x00000000)
TYPE_LINK
public static final int TYPE_LINK
条目类型:链接
常量值: 5 (0x00000005)
TYPE_OTHER
public static final int TYPE_OTHER
条目类型:其他
常量值: 8 (0x00000008)
TYPE_SOCKET
public static final int TYPE_SOCKET
条目类型: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 |
以防 shell 命令在超过 maxTimeToOutputResponse 的时间内未发送任何输出。 |
|
如果连接出现 I/O 错误,则为 true。 |
getRoot
public FileListingService.FileEntry getRoot ()
返回根元素。
| 返回 | |
|---|---|
FileListingService.FileEntry |
表示根元素的 FileEntry 对象,如果设备无效,则为 null。 |