我正在尝试加载文件,即使文件存在,我也收到FileNotFoundException。我尝试做绝对路径(C:/Users/cdeck_000/AndroidStudioProjects/ProjectCaligula_Final/cert/cert.crt)和相对路径(cert / cert.crt),假设Android在项目级别启动。当我使用相对路径运行它并要求文件绝对路径时,我得到以下信息:

路径:/cert/cert.crt

下面的代码以及项目结构。

File file = new File("cert/cert.crt");
boolean i = file.exists();  //false
boolean r = file.canRead(); //false
String path = file.getAbsolutePath(); //cert/cert.crt
String pathForApp = new File(".").getAbsolutePath(); //returns "/."
InputStream caInput = new BufferedInputStream(new FileInputStream(file)); //error


java - .crt文件上的FileNotFoundException-LMLPHP

任何人都可以打电话给我,如果我对Android的绝对/相对路径的了解是错误的,或者可以给我有关如何解决此问题的建议,请问我?我已经以为权限是问题,但是我提高了文件权限(等同于chmod 777),但它没有任何改变。

最佳答案

您应将其放入src/cert/cert.crt,这将使其成为资源而不是文件,因此应使用Class.getResourceAsStream("/cert/cert.crt"),而不是new FileInputStream()

关于java - .crt文件上的FileNotFoundException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42943279/

10-11 02:45