inputStream给出了java.io.FileNotFoundException

时间:2017-05-22 22:20:29

标签: java android inputstream p12

我在我的Android应用程序中创建了新线程来读取.p12文件,如下所示:

AssetManager am = getAssets();
InputStream inputStream = am.open("C:\\Users\\UkrBikeApp-ff55878cb577.p12");

此文件存在于目录中。但每次我得到

  

java.io.FileNotFoundException

simular代码适用于简单的Java应用程序,没有任何问题。是什么原因?

1 个答案:

答案 0 :(得分:3)

首先,C:\\Users\\UkrBikeApp-ff55878cb577.p12是Windows计算机上文件的路径。 Android不是Windows。

其次,C:\\Users\\UkrBikeApp-ff55878cb577.p12是文件系统路径。它不是APK中资产的路径,因此AssetManager无论如何都不知道如何处理它。

如果您想在您的应用中打包此文件:

  • 在相应的模块和源集中创建assets/目录(例如app/src/main/assets/

  • 将文件放入assets/

  • open()上使用AssetManager使用纯文件名