为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

德玛西亚99 2023-04-13 17:17:40
我正在使用 Tomcat 7 服务器在 Mac OS 上开发 Java EE 应用程序。我的项目结构是这样的——下面是我用来读取 JSON 文件的函数 -20180507.jsonprivate 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 中的工作原理?提前致谢
查看完整描述

2 回答

?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

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

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

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

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



查看完整回答
反对 回复 2023-04-13
?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

记得使用

FileReader reader = new FileReader("data/20180507.json");

而不是“/data/20180507.json” ,因为这是根 (/)目录中“数据”文件夹的路径。

也请尝试将您的“数据”目录放在“资源”文件夹中。使用 Eclipse 构建应用程序时,资源文件夹内容在编译后与类相邻放置。

其中任何一个都可以解决您的问题。


查看完整回答
反对 回复 2023-04-13
  • 2 回答
  • 0 关注
  • 163 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信