A
Uri不是
File。A
Uri不必代表您可以访问的文件系统上的文件。将
Uri可能指向的内容是:
- 存储在无法访问的可移动存储中
- 存储在另一个应用程序的内部存储中,您无法访问
- 以加密形式存储,
ContentProvider
需要解密时 - 存储在SQLite数据库的BLOB列中,
ContentProvider
需要将其加载并提供服务 - 存储在“云”中,
ContentProvider
需要下载 - 即时生成的网页的方式
- 等等
您可以使用
ContentResolver和
openInputStream()获取
InputStream所代表的内容
Uri。您可以
FileOutputStream在自己控制的某个文件上创建一个。而且,您可以使用Java
I / O从
InputStream到进行复制
OutputStream,从而在您控制的文件中创建内容的自己的副本。



