JasonIverson 2016-12-03 08:01 采纳率: 0%
浏览 2336

不能在sdcard上创建目录?

问题是这样的,我在代码中要在sdcard的根目录创建一个目录mp3/,然后在这个目录下再创建一个文件”aaa.mp3”,然而不管是创建目录还是创建文件都会失败

这是创建目录的代码:

 /**
 * 在SD卡上创建指定路径
 * @param dir
 * @return
 */
public File createDir(String dir){
    File dirFile = new File(sdCardRoot+dir);
    if(dirFile.exists()){
        System.out.println("目录已经存在:"+sdCardRoot+dir);
    }else{
        System.out.println("创建目录:"+sdCardRoot+dir);
        System.out.println(dirFile.mkdirs());
    }
    return dirFile;
}

结果如下:
I/System.out: 创建目录:/storage/emulated/0/mp3/
I/System.out: false

创建文件的代码如下:

 public File createFile(String fileName,String dir){
    File file = new File(sdCardRoot+dir+File.separator+fileName);
    try {
        if(! file.createNewFile()){
            System.out.println("创建文件失败:"+sdCardRoot+dir+File.separator+fileName);
        }
    } catch (IOException e) {
        System.out.println("创建文件时出现错误");
    }
    return file;
}

这是我在AndroidManifest.xml里面声明的权限

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

不明白为什么已经声明了权限还是创建不了目录呢

然后我使用adb shell创建了这个目录,测试能不能创建文件,结果...
I/System.out: 目录已经存在:/storage/emulated/0/mp3/
I/System.out: 创建文件时出现错误
W/System.err: java.io.FileNotFoundException: /storage/emulated/0/mp3/aaa.mp3 (Permission denied)

是不是还是权限的问题?求教...

  • 写回答

5条回答 默认 最新

  • threenewbee 2016-12-03 08:25
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥30 python代码,帮调试,帮帮忙吧