2010-11-26 34 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