0

我需要在 SD 卡上创建一个文件夹“BEAM”,但它告诉我无法创建该文件夹。

我使用了这段代码:

    File mediaDir = new File("/sdcard/beam");
        / / Create a folder if not exists
        if (!mediaDir.exists()) {
            mediaDir.mkdir(); // this code return false
        }

文件夹“梁”是否受到保护?

我也有这个Android权限:

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

5 回答 5

0

试试下面的代码。不要使用像'sdcard''mnt/sdcard'这样的核心字符串

File f = new File(android.os.Environment.getExternalStorageDirectory(),File.separator+"beam/");
f.mkdirs();
于 2013-03-15T11:12:18.770 回答
0

它并不总是在同一个位置,请尝试使用

Environment.getExternalStorageState() 返回内部 SD 挂载点的路径,如“/mnt/sdcard”

例如,我的手机位置是 /storage/sdcard0/

希望这可以帮助

于 2013-03-15T11:12:55.563 回答
0

参考下面的代码

 if (android.os.Environment.getExternalStorageState().equals(
                 android.os.Environment.MEDIA_MOUNTED)) {

                 File f = new File(
                         Environment.getExternalStorageDirectory() + File.separator + "beam");
                 f.mkdirs();
} 
于 2013-03-15T11:14:03.387 回答
0

您是否尝试过使用“adb shell”创建文件夹,然后使用“mkdir /sdcard/beam”?它应该可以正常工作。如果不是,您应该了解一下,出了什么问题。另外,不要对 sdcard 文件夹进行硬编码。看:

在 /sdcard 中创建目录失败

Android mkdir 没有创建文件夹

于 2013-03-15T11:15:03.780 回答
0

您的代码是正确的,只是您缺少一个/后束字,添加它并像下面的代码一样重试,

File mediaDir = new File("/sdcard/beam/");  // / is added after beam
// Create a folder if not exists
if (!mediaDir.exists()) 
{
     mediaDir.mkdir(); // this code return false
}
于 2013-03-15T11:26:40.350 回答