2010-08-30 72 views
6

我遇到FileNotFoundException異常,當我試圖讓使用RandomAccessFile的文件:java.io.FileNotFoundException創建文件

RandomAccessFile file = new RandomAccessFile("/test.jpg", "rw"); 

我不現在如何來解決這個問題。這讓我瘋狂。

感謝

+0

您是否確實有權在文件系統根目錄下創建文件?嘗試只用'test.jpg' – 2010-08-30 03:47:34

+0

「/」有意外......我沒有在代碼中使用它。該應用程序應該在應用程序目錄中創建文件而不是根目錄。 – mlevit 2010-08-30 03:58:41

回答

7

嘗試

RandomAccessFile file = new RandomAccessFile(new File(getFilesDir(), "test.jpg"), 
     "rw"); 
+0

謝謝隊友。還有一件事...進一步下來我試圖再次訪問它轉換爲位圖:bmImg = BitmapFactory.decodeFile(「wallpaperSwitch.jpg」);我再次遇到錯誤,那我該怎麼做? – mlevit 2010-08-30 05:00:45

+0

位圖bmImg = BitmapFactory.decodeStream(openFileInput(「wallpaperSwitch.jpg」));試試看。 – 2010-08-30 05:42:31

1

從文檔:

FileNotFoundException異常 - 如果模式是「R」,但給定的文件對象不表示一個現有的常規文件,或者模式開始「RW」但給定的文件對象不表示現有的可寫常規文件,並且該名稱的新常規文件不能被創建,或者在打開或創建文件時發生其他一些錯誤

您能夠建立這樣的通過其他方式的文件?你是否在「/」表示根目錄的環境中工作?

+0

我還沒有嘗試使用其他方式創建文件,但我假設我會得到相同的結果。 「/」是偶然的......請忽略它。 – mlevit 2010-08-30 03:56:49

1

時,我們只給出文件名

String fileName="Shiva.txt" 
String Directory = Environment.getExternalStorageDirectory() + File.separator + "OneSecondMoments" + File.seseparator + fileName 

例如實際上出現此錯誤:

RandomAccessFile randomAccessFile = new RandomAccessFile(fileName, "rw"); 

給整個目錄的路徑,例如

RandomAccessFile randomAccessFile = new RandomAccessFile(Directory, "rw"); 
+0

File.seseparator? – 2014-04-24 21:24:01