java - FileReader 无法在 Java 项目中找到该文件

标签 java file

我正在使用 Tomcat 7 服务器在 Mac OS 上开发 Java EE 应用程序。 我的项目结构如下 - enter image description here

下面是我用来读取 JSON 文件的函数 - 20180507.json

private void getCurrencyJSON(){
        JSONParser jsonParser = new JSONParser();
        try 
        {
            System.out.println(new File(".").getAbsoluteFile());
            FileReader reader = new FileReader("/data/20180507.json");  
            //Read JSON file
            Object obj = jsonParser.parse(reader);
            JSONArray currencyList = (JSONArray) obj;
            System.out.println(currencyList);           

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (ParseException e) {
            e.printStackTrace();
        } catch (org.json.simple.parser.ParseException e) {
            e.printStackTrace();
        }   
    }

这会导致 java.io.FileNotFoundException:/resources/20180507.json (No such file or directory) 异常。 另外,System.out.println(new File(".").getAbsoluteFile()) 结果为/private/var/folders/0z/88rzgp7s4h3d18zzp4btcr2h3x133x/T/AppTranslocation/89F63404-971F -4AB6-9727-B1BD6E9F4A8D/d/eclipse/Eclipse.app/Contents/MacOS/。

如何读取该文件?另外,是否有资源可以让我了解有关 Java 中文件路径如何工作的更多信息?

提前致谢

最佳答案

您应该将数据存储到资源文件夹中。 像:

src
|__main
   |__java
   |  |__....
   |
   |__resources
      |__data
         |__20180507.json

保存后: 您可以尝试以下代码从资源文件夹加载它:

JSONParser parser = new JSONParser(this.getClass().getResourceAsStream("data/20180507.json"));

关于java - FileReader 无法在 Java 项目中找到该文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57182262/

相关文章:

java - java中如何从字符串中的特定索引处获取字符

Java 如何从 ActionListener 类继承变量

java - jndi + spring教程

javascript - 外部 JavaScript 文件运行两次

c#:发送文件,混合成功文件和损坏文件

java - 如何使用泛型在 Java 中将 List<?> 转换为 List<T>?

java - java中如何将for循环每次迭代的结果存储到数组中

java - 如何从 csv 返回特定数据?

c - C 中的输入文件双指针

java - 文件未正确保存