1
這裏是我的代碼,當我寫文件錯誤寫入和從臨時緩存文件android讀取位圖?
Bitmap bitmap;
InputStream is;
try
{
is = (InputStream) new URL(myUrl).getContent();
bitmap = BitmapFactory.decodeStream(is);
is.close();
//program crashing here
File f = File.createTempFile(myUrl,null,MyApplication.getAppContext().getCacheDir());
FileOutputStream fos = new FileOutputStream(f);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);
fos.flush();
fos.close();
}
catch(Exception e)
{
bitmap = null;
}
,這裏是我的代碼從同一文件讀取
Bitmap bitmap;
try
{
File f = new File(myUrl);
FileInputStream fis = new FileInputStream(f);
BufferedInputStream bis = new BufferedInputStream(fis);
byte[] bitmapArr = new byte[bis.available()];
bis.read(bitmapArr);
bitmap = BitmapFactory.decodeByteArray(bitmapArr, 0, bitmapArr.length);
bis.close();
fis.close();
}
catch(Exception e)
{
bitmap = null;
}
該計劃是在創建臨時文件的崩潰第一塊代碼。
編輯:我得到一個libcore.io.ErrnoException
我很欣賞你回答你自己的問題,但調用openFileOutput()與Context.MODE_PRIVATE不會創建應用程序的緩存目錄中的文件。 – TheIT