12

やりたいこと: アプリのプライベート内部ストレージから画像ファイルを削除します。画像は内部ストレージに保存するので、アプリのアンインストール時に削除されます。

私は正常に作成して保存しました:

String imageName = System.currentTimeMillis() + ".jpeg";
FileOutputStream fos = openFileOutput(imageName, Context.MODE_PRIVATE);
bitmap.compress(Bitmap.CompressFormat.JPEG, 35, fos);

私が受け取るイメージ

bitmap = BitmapFactory.decodeStream(inputStream);

後で表示するために画像を取得できます。

FileInputStream fis = openFileInput(imageName);
ByteArrayOutputStream bufStream = new ByteArrayOutputStream();
DataOutputStream outWriter = new DataOutputStream(bufStream);

int ch;
while((ch = fis.read()) != -1)
    outWriter.write(ch);

outWriter.close();
byte[] data = bufStream.toByteArray();
bufStream.close();
fis.close();

imageBitmap = BitmapFactory.decodeByteArray(data, 0, data.length);

このファイルを完全に削除したいと思います。新しいファイルを作成して削除しようとしましたが、ファイルが見つかりません:

File file = new File(imageName);
file.delete();

私はAndroid開発者のWebサイトでopenFileInput(...)、InputStreamを返すメソッドを使用してプライベートな内部ファイルを開いてコンテンツを読み取る必要があることを読みましたが、これはあまり気にしません-削除したいだけです。

内部ストレージに保存されているファイルを削除するための正しい方向を教えてもらえますか?

4

1 に答える 1

25

エルグ、私は自分で答えを見つけました。簡単な答えも:(

メソッドを呼び出すだけですdeleteFile(imageName)

if(activity.deleteFile(imageName))
    Log.i(TAG, "Image deleted.");

終わり!

于 2010-08-10T18:05:45.497 に答える