我正在使用 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")); 
                    
                    
                            翻过高山走不出你
                            
                                
                            
                        
                        
                                                
                    TA贡献1875条经验 获得超3个赞
记得使用:
FileReader reader = new FileReader("data/20180507.json");而不是“/data/20180507.json” ,因为这是根 (/)目录中“数据”文件夹的路径。
也请尝试将您的“数据”目录放在“资源”文件夹中。使用 Eclipse 构建应用程序时,资源文件夹内容在编译后与类相邻放置。
其中任何一个都可以解决您的问题。
添加回答
举报
0/150
	提交
		取消
	