2

if(new File("/mnt/sdcard/t.m").exists()) {...}

当我使用 Eclipse 创建一个 java 程序并在我的 Android 手机上调试它时,它测试正确。但是当我将它放入我的 Android 系统中的应用程序时,它不会检测到该文件。

而且,在另一个应用程序中(也内置在我的 Android 系统中),虽然我在 AndroidManifest.xml 中添加了以下内容,

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

下面的代码会导致异常,说没有权限,

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

谢谢你。我是安卓新手。

4

1 回答 1

1

写入 SD 卡的权限:

你是对的,SD 卡目录是 /sdcard 但你不应该硬编码它。相反,调用 Environment.getExternalStorageDirectory() 来获取目录:

文件 sdDir = Environment.getExternalStorageDirectory(); 如果您还没有这样做,您需要通过将以下内容添加到您的清单中,为您的应用授予正确的写入 SD 卡的权限:

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

只需将其更改为读取(而不是写入)

于 2010-11-26T10:34:34.003 回答