2012-01-26 122 views
0

我有一個在內部存儲器中寫入png的類。當我在那之後編寫並閱讀它時,它就會起作用。在Android的內部存儲器中寫入/讀取文件(文件消失)

FileOutputStream fileOutStream = openFileOutput(filepath, 
        Context.MODE_PRIVATE); 
mBitmap.compress(Bitmap.CompressFormat.PNG, 90, fileOutStream); 
fileOutStream.close(); 

(位圖的類型是位圖)

FileInputStream fileInStream = openFileInput(filepath); 
byte[] fileContent = org.apache.commons.io.IOUtils.toByteArray(fileInStream); 

當我使用相同的讀取功能,用相同的文件路徑參數(I驗證ID),但在另一個類中,這不是」工作。

與同一項目的另一個類一起使用時是否存在限制?

Regards

+0

它不是因爲你沒有用fileOutStream.flush()刷新fileOutStream;關閉它之前? –

+0

我試過沖洗它之前,但我刪除它之間我不同的嘗試。這是第一次閱讀它是非常奇怪的,但不是第二次... –

+0

您在第一次閱讀後關閉fileInStream? –

回答

1

你確定這個文件只有一個基礎流嗎?因爲如果你有多個流和調用close()方法,這將強制關閉所有其他流..所以正確的實現是關閉最後一個流或應用刷新到每一個..並關閉最後.. btw:爲一個流寫入的單一過程不需要顯式調用flush()方法,因爲close()方法將隱式調用它。

相關問題