当前位置: 首页 > 知识库问答 >
问题:

上的FileNotFoundException。crt文件

尹何平
2023-03-14

我试图加载一个文件,即使文件存在,我也会得到一个FileNotFoundException。假设Android在项目级别启动,我尝试了绝对路径(C:/User/cdeck_000/AndroidStudioProjects/ProjectCaligula_Final/cert/cert.crt)和相对路径(cert/cert.crt)。当我使用相对路径运行它并询问文件绝对路径时,我得到了这个:

路径: /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

如果我对Android系统的绝对/相对路径的了解有误,有人能插话告诉我吗?或者给我如何解决这个问题的建议?我已经认为权限是问题所在,但我提出了文件权限(相当于chmod 777),它没有改变任何事情。

共有2个答案

百里丁雨
2023-03-14

我有同样的问题比我解决我的问题使用以下方式

  1. 创建资产文件夹
  2. 将文件复制到资产文件夹
  3. 从资产中读取文件

使用下面的代码资产文件夹中读取

BufferedReader reader = null;
        try {
            reader = new BufferedReader(
                    new InputStreamReader(getAssets().open("cert.crt")));

            // do reading, usually loop until end of file reading
            String mLine;
            while ((mLine = reader.readLine()) != null) {
                //process line

            }
        } catch (IOException e) {
            //log the exception
        } finally {
            if (reader != null) {
                try {
                    reader.close();
                } catch (IOException e) {
                    //log the exception
                }
            }
        }
贝钧
2023-03-14

您应该将其放入src/cert/cert.crt,这使其成为一个资源,而不是一个文件,因此您应该使用类。getResourceAsStream(“/cert/cert.crt”),而不是新文件输入流()。

 类似资料:
  • 问题内容: 我正在使用Android Studio v.1.0我的构建文件: 但是,当我尝试进行发行版本构建时,出现错误:错误:任务’:app:proguardRelease’的执行失败。 java.io.FileNotFoundException:F:.... \ app \ proguard-rules.pro(未找到文件) 我认为,proguard-android.txt是Android S

  • 问题内容: 我在Mac上工作,正在尝试指定桌面上文件的路径。 我只是这样做: 当我尝试运行它时,我得到了FileNotFoundException。 如何正确指定路径? 问题答案: Mac OS X的文件系统区分大小写。并应以大写字母开头,并且文件名也应区分大小写。 由于您要查找的是桌面文件夹,而不是名称为的用户的根文件夹,因此需要在该文件夹后添加用户名。例如:

  • 在我的map函数中,我试图从distributedcache中读取一个文件,将其内容加载到哈希映射中。 MapReduce作业的sys输出日志打印HashMap的内容。这表明它已经找到了文件,已经加载到数据结构中并执行了所需的操作。它遍历列表并打印其内容。从而证明手术是成功的。 感谢帮助。 干杯!

  • 问题内容: 我试图创建一个将要写入的简单文本文件。 我收到以下错误: 码: 如果有人可以指导我解决我做错的事情,我将不胜感激。我可以在Windows笔记本电脑上使用此功能,但在Mac上似乎无法使用。 问题答案: 这是行不通的。实际上,您说它可以在Windows上运行令我感到惊讶。 您可能用’〜’表示您的主目录… 除此之外, 对于外壳来说 ,这意味着。Java不知道那是什么。它会在此处有效尝试执行的

  • 问题内容: 我正在尝试从特定的URL获取图像,但会抛出异常。如果尝试从浏览器打开URL,则可以看到图像。请帮忙。下面是我的代码。谢谢。 问题答案: 我尝试这个,它的工作正常。谢谢。

  • 我们最近在尝试访问Unix服务器中的weblogic控制台时遇到了一个问题,我们将得到: 错误503--服务不可用 在日志文件中,它会指出: 原因:java。io。FileNotFoundException:/opt/weblogic1036/wlserver\u 10.3/server/lib/co 在谷歌上搜索了一番后,我找到了一个解决方案,其中指出/etc/security/limits。c