java - 使用 Android 资产 zip 文件时出现 FileNotFound 异常
问题描述
我正在尝试使用以下内容访问我存储在资产文件夹中的 zip 文件:
val filePath = Uri.parse("file:///android_asset/testfile_v1.1.1.zip").toString()
但是,即使我确定该文件在那里并且我不知道为什么,我也会收到 FileNotFound 错误。
任何建议表示赞赏。
错误:
java.io.FileNotFoundException: file:/android_asset/testfile_v1.1.1.zip (No such file or directory)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:200)
at java.io.FileInputStream.<init>(FileInputStream.java:150)
at java.io.FileInputStream.<init>(FileInputStream.java:103)
用例:
private InputStream openInputStream(final String filePath, final String mimeType, final int mbrSize, final int types) throws IOException {
final InputStream is = new FileInputStream(filePath);
if (MIME_TYPE_ZIP.equals(mimeType))
return new ArchiveInputStream(is, mbrSize, types);
if (filePath.toLowerCase(Locale.US).endsWith("hex"))
return new HexInputStream(is, mbrSize);
return is;
}
解决方案
如果路径/android_asset/testfile_v1.1.1.zip
真的正确,可能是因为您在输入的未转义路径中错过了一个斜杠,即file:///
而不是file:////
推荐阅读
- css - Flex-wrap 和对齐
- ios - 在 Accelerate vDSP 上执行离散傅里叶变换后跟离散傅里叶逆变换不会产生原始值
- bash - 使用 aria2c 并行下载多个文件
- python - 为多类分类给出相等的输出值
- java - 文件中的错误字符由 0xFF - JAVA
- google-maps - 使用 OSM 和 Leaflet 在自定义地砖上渲染图标
- php - Wordpress:为自己的插件功能获取 $table_prefix
- html - 打开页面时CSS动画不开始工作
- python - 数学模块中的幂函数似乎在 Python 中停止工作
- php - Codeigniter 查询获取缓存结果(选择查询结果未更新)