我想把一個 bitmap保存到圖片目錄中。以下是代碼:
File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
File file = new File(path, "test1.PNG");
try {
path.mkdirs();
OutputStream out = new FileOutputStream(file);
mBitmap.compress(Bitmap.CompressFormat.PNG, 90, out);
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
Log.w("ExternalStorage", "Error writing " + file, e);
}
程序執行在OutputStream out = new FileOutputStream(file);
這句語句時出現問題。我使用調試器,然後全路徑中返回mnt/sdcard/Pictures/test1.PNG
。是mnt/
的問題嗎?為什麼不能獲得OutputStream out = new FileOutputStream(file);
?在文件目錄中我只能看見sdcard/
。
謝謝大家指導!
/mnt 目錄,熟悉linux的人都清楚,linux默認掛載外部設備都會掛到這個目錄下面去,如將sd卡掛載上去後,會生成一個/mnt/sdcard 目錄。
/sdcard 目錄,這是一個軟鏈接(相當於windows的文件夾的快捷方式),鏈接到/mnt/sdcard 目錄,即這個目錄的內容就是sdcard的內容。