FileReader路径错误 - 找不到文件

时间:2017-10-18 15:23:23

标签: android relative-path

我已将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)

为什么我收到此错误?我已经提到了正确的道路。但为什么?

1 个答案:

答案 0 :(得分:1)

file:///android_asset仅对WebView有意义。它不能在别处使用。

使用AssetManager及其open()方法获取资产所代表内容的InputStream。根据需要将其包裹在InputStreamReader中。