我可以在外部存储USB / SD的根目录中创建一个文件夹,但不能在文件中创建一个文件夹。 这是android的限制还是我的权限有问题?
在创建文件时,我收到“ java.io.IOException:权限被拒绝”消息。
首先,我检查我的权限,它们看起来不错。
if (ContextCompat.checkSelfPermission(mContext, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED)
{
ActivityCompat.requestPermissions(mActivity, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 3);
}
if (ContextCompat.checkSelfPermission(mContext, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED)
{
ActivityCompat.requestPermissions(mActivity, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 2);
}
然后我扫描我的外部设备,找到了它们。
SD-> mnt / media_rw / 0123-4567
USB-> mnt / media_rw / B80A-07EC
USB和SD的行为相同,因此我仅给出SD的代码示例。
String folder = "/testfolder/";
String file = "testfile.txt";
-
check = new File("mnt/media_rw/0123-4567" + file).createNewFile();
这将导致“ java.io.IOException:权限被拒绝”
check = new File("mnt/media_rw/0123-4567" + folder).mkdirs();
check = new File("mnt/media_rw/0123-4567" + folder + file).createNewFile();
这将导致创建一个其中包含文件的文件夹。
不要介意变量名,它只是一个示例/