我已将root-CA.crt
个文件包含在app/src/main/assets
中。
PEMParser reader = new PEMParser(new FileReader("file:///android_asset/root-CA.crt"));
X509CertificateHolder caCertHolder = (X509CertificateHolder) reader.readObject();
reader.close();
<小时/> 并得到了这个错误:
10-18 20:47:34.601 10617-10617/? W/System.err: java.io.FileNotFoundException: /file:/android_asset/root-CA.crt: open failed: ENOENT (No such file or directory)
10-18 20:47:34.601 10617-10617/? W/System.err: at libcore.io.IoBridge.open(IoBridge.java:416)
10-18 20:47:34.601 10617-10617/? W/System.err: at java.io.FileInputStream.<init>(FileInputStream.java:78)
10-18 20:47:34.601 10617-10617/? W/System.err: at java.io.FileInputStream.<init>(FileInputStream.java:105)
10-18 20:47:34.611 10617-10617/? W/System.err: at java.io.FileReader.<init>(FileReader.java:66)
为什么我收到此错误?我已经提到了正确的道路。但为什么?
答案 0 :(得分:1)
file:///android_asset
仅对WebView
有意义。它不能在别处使用。
使用AssetManager
及其open()
方法获取资产所代表内容的InputStream
。根据需要将其包裹在InputStreamReader
中。