最近我阅读了有关在 android 中创建文件夹的内容,并尝试在我的应用程序中实现它。如果目录不存在,函数应该创建目录,从网络服务器下载文件并解压缩。但是应用程序无法在外部设备上创建文件夹。函数代码
public static void download(final int section){
File folder = new File(Environment.getExternalStorageDirectory(), "/try2think"); //section"+section);
if (!folder.exists()) {
if(!folder.mkdirs()) {
Log.i("Problem", "Problem creating folder");
}
}
File folder1 = new File(Environment.getExternalStorageDirectory()+"/try2think", "section"+section);
if (!folder1.exists()) {
if(!folder1.mkdirs()) {
Log.i("Problem", "Problem creating folder");
}
}
String downloadURL = "http://jangofetthd.me/rebus/section" + section+".zip";
final String directory = Environment.getExternalStorageDirectory()+"/try2think/section"+section+"/section"+section+".zip";
Ion.with(Sections.context).load(downloadURL).write(new File(directory))
.setCallback(new FutureCallback<File>() {
@Override
public void onCompleted(Exception e, File file) {
try {
UnzipFile(new File(directory), new File(Environment.getExternalStorageDirectory()+"/try2think/section"+section));
} catch (IOException e1) {
e1.printStackTrace();
}
}
});
}
怎么了?我尝试了 varient withFile folder = new File(Environment.getExternalStorageDirectory()+"/try2think/section"+section);
但它也没有用。我做错了什么?
最佳答案
您是否尝试添加写入外部存储的权限?
将以下代码写入manifest:
<manifest xlmns:android...>
...
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application ...
</manifest>
您还可以查看这个关于从 Android 存储中保存和读取信息的有趣指南:Saving Files | Android Developers
关于java - Android makedirs文件夹创建错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35866946/