context.getFilesDir()

时间:2018-03-17 19:29:51

标签: java android file

作为I / O中的新手,我已阅读并尝试使用this中的示例 和this。但是,我只是无法在内部存储中创建一个简单的目录。一定是某个地方的错字。

对于我的应用,我已经使用以下file_paths.xml定义了FileProvider,用于存储应用内部文件。

<?xml version="1.0" encoding="utf-8"?>
<paths>
    <files-path name="ma_pics" path="pictures/" />
</paths>

下面的一个简单方法应该提供一个位于&#34;图片内的文件。目录,但我的问题是当我尝试创建一个目录时,该目录根本不存在。我做错了什么?

@Nonnull
public final File providePictureFile(@Nonnull String prefix, @Nonnull String suffix)
            throws IOException {
        File picturesDir = new File(mContext.getFilesDir(), "pictures");
        if(!picturesDir.exists()){
            // code forks here, dir doesn't exist, throws the following exception
            throw new IOException("Pictures dir doesn't exist");
        }
        return new File(picturesDir, prefix + suffix);
    }

1 个答案:

答案 0 :(得分:0)

  

当我尝试创建目录

您没有任何创建目录的代码。您正在创建一个File对象,该对象不会自动在文件系统上创建某些内容。在mkdirs()上调用picturesDir来创建该目录。