4

ディレクトリにディレクトリを作成することは可能ですか。1 つのディレクトリを作成するには、次のように呼び出します。

File dir1 = getDir("dir1",Context.MODE_PRIVATE);

しかし、他のディレクトリを作成する方法はdir1?

これ:

File dir2 =getDir("dir1"+"/"+"dir2",Context.MODE_PRIVATE);

例外をスローします:

File dirFile = java.lang.IllegalArgumentException: File app_dir1/dir2 contains a path separator

ありがとう。

4

2 に答える 2

5

Context.getDir()は、プライベートストレージ領域内にディレクトリを作成するプロセスを抽象化するためのAndroid独自のメソッドのようです。これは、一般にディレクトリを作成する一般的な方法ではありません。

子サブディレクトリを作成するには、次のような通常のJavaメソッドを使用する必要があります。

File dir2 =new File(dir1, "dir2").mkdir();

ここでの最初のパラメータは、名前ではなく、作成した最初のディレクトリを表すファイルオブジェクトであることに注意してください。

その後、このディレクトリに権限を設定することをお勧めします。

警告:テストされていません

于 2012-05-16T13:04:04.243 に答える
4

Context.getDir(String name, int mode) メソッドを使用して、内部ストレージ内のディレクトリを作成またはアクセスします。ドキュメントからの引用:

File mydir = context.getDir("mydir", Context.MODE_PRIVATE); //Creating an internal dir;
File fileWithinMyDir = new File(mydir, "xyzDir"); //Getting a file within the dir.
fileWithinMyDir.mkDir;
于 2012-05-16T13:51:05.463 に答える