2

次のように内部ストレージにファイルを保存しているプロジェクトの途中です:

try {
     FileWriter file = new FileWriter("/data/data/" + context.getPackageName() + "/" + filename);
     file.write(stringData);
     file.flush();
     file.close();
   } catch (IOException e) {
         e.printStackTrace();
   }

ファイルを作成した後、次のように作成時に指定した名前でファイルを削除できます。

File f = new File("/data/data/" + context.getPackageName() + "/" + fileName);
f.delete();

それはすべて完了し、機能しています。

私の問題は、ファイルの名前を指定せずに内部ストレージに保存されているすべてのファイルを取得したいことです。

注:名前を1つずつ指定することでファイルを取得できます。

しかし、内部ストレージからすべてのファイルを取得したり、各ファイル名を指定せずにすべてのファイルを直接削除したりできますか?

4

1 に答える 1

1

次のように、ディレクトリ内のすべてのファイルの File オブジェクトを取得できます。

File f = new File("/data/data/" + context.getPackageName());
File[] files = f.listFiles();
for (File fInDir : files) {
    fInDir.delete();
}

http://developer.android.com/reference/java/io/File.html#listFiles()を参照してください

于 2016-03-15T10:41:30.757 に答える