2

私はその後のトラブルを抱えています。私のアプリはファイルのリストを読み取り、その名前をユーザーに表示する必要があります。アプリを初めて起動するときに、アプリ用の特定のフォルダーを作成する必要がありますか?次に、それが空かどうかを確認するにはどうすればよいですか?

4

2 に答える 2

5

内部ストレージにディレクトリを作成したとすると、次のようにディレクトリ内の子オブジェクトの数を取得できます。

File dir = context.getDir("somePath", Context.MODE_PRIVATE);
File[] children = dir.listFiles();
if(children.length > 0)
{
    // the directory is not empty
}
else
{
    // the directory is empty.
}

これは簡単なサンプルコードです。より良い方法は、カスタムFileFilterを使用して自己エイリアスと親エイリアスを除外するdir.listFiles()ことです。これらが常に結果のリストから除外されるかどうかはわかりません。

于 2013-03-06T16:57:47.733 に答える
2

次のコードは、フォルダがすでに存在するかどうかを確認し、存在しない場合はフォルダを作成し、作成中にエラーが発生した場合は警告します。

    // check if appfolder is created and if not through an
    // exception
    File path = new File("yourDir");
    if (!path.exists()) {
        if (!path.mkdirs()) {
            try {
                throw new IOException(
                        "Application folder can not be created. Please check if your memory is writable and healthy and then try again.");
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return false;
        }
    } else {
        Log.i("app", "directory is: " + path.getPath());
    }

exists()パスが存在するかどうかを確認し、パスpath.exists()を作成するだけです。

于 2013-03-06T16:53:35.040 に答える