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

最上位の 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

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()

ルート要素を返します。

定数

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

最上位の sdcard フォルダ。

定数値: "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

デバイス側のファイル区切り文字。

定数値: "/"

REFRESH_RATE

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)

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)

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

エントリタイプ: ソケット

定数値: 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 の子を返します。

このメソッドは、キャッシュ メカニズムと同期モードおよび非同期モードをサポートしています。

receivernull の場合、デバイス側の ls コマンドは同期的に実行され、コマンドの完了時にメソッドが返されます。
receivernull 以外の場合、コマンドは別のスレッドで起動され、完了すると、結果がレシーバに通知されます。

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 より長い期間にわたって出力を送信しない場合。
接続で I/O エラーが発生した場合。

getRoot

public FileListingService.FileEntry getRoot ()

ルート要素を返します。

戻り値
FileListingService.FileEntry ルート要素を表す FileEntry オブジェクト。デバイスが無効な場合は null