我需要在SD卡上创建一个文件夹“BEAM”,但它告诉我无法创建该文件夹。
我使用了这段代码:
File mediaDir = new File("/sdcard/beam");
/ / Create a folder if not exists
if (!mediaDir.exists()) {
mediaDir.mkdir(); // this code return false
}
文件夹“beam”受保护吗?
我也有这个Android权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
答案 0 :(得分:0)
尝试以下代码。不要使用像'sdcard'或'mnt / sdcard'
这样的核心字符串File f = new File(android.os.Environment.getExternalStorageDirectory(),File.separator+"beam/");
f.mkdirs();
答案 1 :(得分:0)
并非总是在同一个位置,请尝试使用
Environment.getExternalStorageState()返回内部SD挂载点的路径,如“/ mnt / sdcard”
例如我的手机位置是/ storage / sdcard0 /
希望这有帮助
答案 2 :(得分:0)
参考下面的代码
if (android.os.Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED)) {
File f = new File(
Environment.getExternalStorageDirectory() + File.separator + "beam");
f.mkdirs();
}
答案 3 :(得分:0)
您是否尝试使用'adb shell'然后'mkdir / sdcard / beam'创建文件夹?它应该工作正常。如果不是,你应该明白,出了什么问题。另外,不要硬编码sdcard文件夹。参见:
答案 4 :(得分: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
}