inputStream 给出 java.io.FileNotFoundException
inputStream gives java.io.FileNotFoundException
我在我的 android 应用程序中创建了新线程来读取 .p12 文件,如下所示:
AssetManager am = getAssets();
InputStream inputStream = am.open("C:\Users\UkrBikeApp-ff55878cb577.p12");
此文件存在于目录中。但是每次我得到
java.io.FileNotFoundException
模拟代码在简单的 java 应用程序中运行没有任何问题。这是什么原因?
首先,C:\Users\UkrBikeApp-ff55878cb577.p12
是 Windows 机器上文件的路径。 Android 不是 Windows.
其次,C:\Users\UkrBikeApp-ff55878cb577.p12
是一个文件系统路径。它不是您 APK 中资产的路径,因此 AssetManager
无论如何都不知道如何处理它。
如果您想将此文件打包到您的应用中:
在适当的模块和源集中创建一个 assets/
目录(例如,app/src/main/assets/
)
将文件放入assets/
在 AssetManager
上使用 open()
和普通文件名
我在我的 android 应用程序中创建了新线程来读取 .p12 文件,如下所示:
AssetManager am = getAssets();
InputStream inputStream = am.open("C:\Users\UkrBikeApp-ff55878cb577.p12");
此文件存在于目录中。但是每次我得到
java.io.FileNotFoundException
模拟代码在简单的 java 应用程序中运行没有任何问题。这是什么原因?
首先,C:\Users\UkrBikeApp-ff55878cb577.p12
是 Windows 机器上文件的路径。 Android 不是 Windows.
其次,C:\Users\UkrBikeApp-ff55878cb577.p12
是一个文件系统路径。它不是您 APK 中资产的路径,因此 AssetManager
无论如何都不知道如何处理它。
如果您想将此文件打包到您的应用中:
在适当的模块和源集中创建一个
assets/
目录(例如,app/src/main/assets/
)将文件放入
assets/
在
AssetManager
上使用open()
和普通文件名