一切都在问题中。下面是我的代码:
private void createDirectory(File currentDirectory)
{
File f = null;
try {
f = new File(currentDirectory.getCanonicalPath() + "/directory" + count);
boolean success = f.mkdir();
if (!success) {
Toast.makeText(currentContext, f.getName() + " could not be created", 15).show();
}
} catch (IOException ioe) {
Toast.makeText(currentContext, f.getName() + " could not be created", 15).show();
}
count++;
}
我正在写一个小的文件管理器在Android和我想添加的可能性,以创建一个目录。有没有异常和变量成功总是返回假。有人能告诉我什么是错误的我的代码?
谢谢你的建议!!
- [编辑]*
顺便说一句,当手机处于开发模式时,应用程序是否对sdcard有写访问权限?我正在我的手机上编程(宏碁液体)
4条答案
按热度按时间5w9g7ksd1#
您必须添加此权限:
顺便说一句,不知道你是如何获得SDcard目录...但它必须是这样的:
这一点很重要,因为有些程序员过去认为SDCard总是/sdcard,但它可能会改变。
lh80um4z2#
你得加上
添加到您的清单文件,以告知Android向用户请求允许您的应用。
w41d8nur3#
首先,请使用
File
构造函数,该构造函数接受File
作为您的目录,接受String
作为您想要的子目录。除此之外,您很可能正在尝试创建一个不允许您访问的目录,原因可能是:
currentDirectory
不存在,或者currentDirectory
指向板载闪存上不允许写入的位置,或者currentDirectory
指向外部存储上的某个位置,而您没有WRITE_EXTERNAL_STORAGE
权限eeq64g8w4#
而不是使用
boolean success = f.mkdir();
这解决了我的问题(我使用了与您相同的参考代码,遇到了相同的问题)。