请有人帮忙。我已经阅读了你的推荐但却无法理解。我必须在cloudhub中读取一个json文件。
在我的本地存储库中,我将.json文件保存在位置test/src/main/resources/input.json
中。并从Java Class中读取它
private static final String jsonFilePath = "src\main\resources\input.json";
或 private static final String jsonFilePath = "input.json";
当.json
文件位于项目的根文件夹中时
byte[] jsonFile = Files.readAllBytes(Paths.get(jsonFilePath));
input.json
时无法找到“MDA moved to cloud hub
”文件,我在cloudhub
中收到文件未找到异常。当我在项目目录中打印所有文件时,我无法从cloudHub中的项目中搜索任何特定文件。
我已经在cloudHub的项目目录结构中打印了所有文件,但我找不到“input.json
”。你可以建议吗。
21:53:30.952 05/26/2015 INFO文件:/home/ion-mule/muleProperties.dump
21:53:30.952 05/26/2015 INFO文件:/home/ion-mule/muleLauncher.log
21:53:30.953 05/26/2015 INFO目录:/home/ion-mule/.ssh
21:53:30.953 05/26/2015 INFO文件:/home/ion-mule/.bash_profile
21:53:30.954 05/26/2015 INFO档案:/home/ion-mule/.ssh/authorized_keys
21:53:30.954 05/26/2015 INFO文件:/home/ion-mule/.bash_logout
21:53:30.954 05/26/2015 INFO文件:/home/ion-mule/muleMonitor.log
21:53:30.955 05/26/2015 INFO文件:/home/ion-mule/.bashrc
任何帮助将不胜感激。
答案 0 :(得分:1)
您需要从类路径加载应用程序资源,而不是从与原始项目结构相关的路径加载。
src\main\resources
中的文件最终位于打包应用程序中类路径的根目录。因此,以下内容应该为您提供文件的内容:
Thread.currentThread().getContextClassLoader().getResourceAsStream("input.json");