2010-11-26 72 views
2

if(new File("/mnt/sdcard/t.m").exists()) {...}安卓File.exists未能檢查SD卡

上的文件當我使用Eclipse創建並調試它在我的Android手機上,它測試正確的Java程序。 但是,當我把它放到我的Android系統中的應用程序中時,它不會檢測到該文件。

而且,在另一個應用程序(內置在我的Android系統也是如此),但我已經把在AndroidManifest.xml以下,

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

下面的代碼導致異常說不同意,

File f=new File("/mnt/sdcard/a.t"); f.createNewFile();

謝謝。我是Android新手。

回答

1

Permission to write to the SD card

你說得對SD卡 目錄爲/ SD卡,但你不應該 被硬編碼了。相反,做一個 調用 Environment.getExternalStorageDirectory() 得到的目錄:

文件sdDir = Environment.getExternalStorageDirectory(); 如果您還沒有這樣做的話,你 將需要 加入給你的清單,讓您應用寫入SD卡正確 權限:

<uses-permission 
    android:name="android.permission.WRITE_EXTERNAL_STORAGE" 
    /> 

只要改變它讀取(而不是寫)

+0

我曾嘗試過所有的代碼。不工作。該文件可以由adb shell列出,所以硬編碼不會使其錯誤。 – A117 2010-11-26 10:36:49