我已经在应用程序的内部存储中创建了一个images子目录。因此,完整路径是
/data/data/{app_namespace}/images
现在,我已经成功创建了一个用于存储图像的uri /data/data/{app_namespace}/images/enh.jpeg
。
但是,当我想打开文件进行写入时,在分别使用的两种方法中,我面临两个问题:
FileOutputStream out = new FileOutputStream( uri_path)
:没有此类文件或目录。FileOutputStream out = context.openFileOutput(uri_path, Context.MODE_PRIVATE)
:文件包含路径分隔符。我想了解如何打开/data/data/{app_namespace}/images/enh.jpeg
进行写作?还有我不知道的其他方式吗?
答案 0 :(得分:-1)
我发现了问题。实际上,我正在按以下方式构造uri_path
变量
uri_path = uri.getPath()
这仅返回/images/enh.jpeg
,因为前一部分在authority
的{{1}}字段中进行了编码。关于如何从uri
中提取绝对路径,Internet上的其他地方有多种解决方案,为简洁起见,在此将其省略。