我正在使用 Tomcat 7 服务器在 Mac OS 上开发 Java EE 应用程序。 我的项目结构如下 -
下面是我用来读取 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/