-1

我在我的应用程序的内部存储中创建了一个图像子目录。因此完整的路径是,

/data/data/{app_namespace}/images

现在,我已经成功创建了一个/data/data/{app_namespace}/images/enh.jpeg用于存储图像的 uri。

但是,当我想打开文件进行写入时,我分别在使用的两种方法中遇到了两个问题:

  1. FileOutputStream out = new FileOutputStream( uri_path): ENOENT 没有这样的文件或目录。
  2. FileOutputStream out = context.openFileOutput(uri_path, Context.MODE_PRIVATE): 文件包含路径分隔符。

我想了解如何打开/data/data/{app_namespace}/images/enh.jpeg写作?还有其他我不知道的方法吗?

4

1 回答 1

-1

我发现了这个问题。实际上,我正在uri_path按如下方式构造变量

uri_path = uri.getPath()

这只会返回/images/enh.jpeg,因为前面的部分是在 的authority字段中编码的uri。互联网上其他地方有多种关于如何从 a 中提取绝对路径的解决方案Uri,为简洁起见,我将在此省略。

于 2018-06-26T06:09:51.063 回答