java - Android makedirs文件夹创建错误

标签 java android directory

最近我阅读了有关在 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/

相关文章:

java - 在 Stream 中使用 AtomicInteger 进行索引是一种合法的方式吗?

java - 使用 Hadoop Map Reduce 加入来自 NoSQL 数据库的数据

java - csvWriter java : Create csv with multiple pages

java - 开放/封闭原则 OO 类设计

php - 这些字符串的正确检查语法是什么?

android - 如何将 .cer 转换为 BKS

android - 从 AsyncTask 返回 ArrayList

平板电脑上的 Android Things

c# - 尽管我在解决方案资源管理器中有文件夹,但无法使用它们 [Visual Studio 2012]

bash - 将所有 .jpeg 从目录结构移动到 Mac OS X 上的一个文件夹中