2017-10-18 3 views
0

root-CA.crt 파일을 app/src/main/assets에 포함 시켰습니다.
FileReader 경로 오류 - 파일을 찾을 수 없음


나는 이것을 타이프했고 에뮬레이터에서 돌아갔다.

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

file:///android_assetWebView과 함께 의미가 있습니다. 다른 곳에서는 사용할 수 없습니다.

AssetManager 및 그 open() 방법을 사용하면 저작물이 나타내는 콘텐츠에 InputStream이 표시됩니다. 필요에 따라 InputStreamReader에 포장하십시오.

+0

감사합니다 ... !! 위의'새로운 FileReader ("file : ///android_asset/root-CA.crt")'코드 또는 전체 코드의 최종 결과는 무엇입니까? 나는 정말로 안드로이드 개발에 새로운 사람이다. – Senura

+0

@Senura : 나는 그것을 말할 수 없다. 'Context' (예 :'Activity')에서'getAssets()'를 호출하여 AssetManager를 얻었습니다.이 코드가 어디에 있는지 알지 못합니다. [이 샘플 활동] (https://github.com/commonsguy/cw-omnibus/blob/v8.7/Camera/EXIFRotater/app/src/main/java/com/commonsware/android/exif/MainActivity.java)), 나는'open()'을 사용하여 자산으로 패키징 된 이미지에서'ExifInterface' 객체에 전달하는'InputStream'을 가져옵니다. – CommonsWare

+0

감사합니다 ... 나는 당신이 말한 것을 끝냈습니다 ... 이제는 효과가 있습니다. 지식 공유에 감사드립니다. +1 – Senura

관련 문제