作为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);
}
答案 0 :(得分:0)
当我尝试创建目录
时
您没有任何创建目录的代码。您正在创建一个File
对象,该对象不会自动在文件系统上创建某些内容。在mkdirs()
上调用picturesDir
来创建该目录。