下面是我的项目,
projectName
-package
- Util.java
- Test.json
在Util.java中,我需要从Test.json文件中读取内容并进行解析。 因此,我使用:
File currentfile = new File("");//get the current path
String absJsonPath = currentfile.getAbsolutePath() + "/Test.json";
当我使用主要方法进行测试时,它不起作用。问题是/ src / package丢失在获取的文件路径中,并且我刚刚得到了项目的路径。
而且,当我将项目部署到weblogic服务器时,又遇到了另一个新错误,获得的当前路径如下:
.../DefaultDomain/.
我只想要文件系统中与服务器无关的文件路径。
对此我该怎么办?谢谢!
答案 0 :(得分:2)
将文件放入资源文件夹并按以下方式获取:
//Get file from resources folder
ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource("Test.json").getFile());
要阅读内容,可以使用以下内容:
StringBuilder result = new StringBuilder("");
try (Scanner scanner = new Scanner(file)) {
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
result.append(line).append("\n");
}
scanner.close();
} catch (IOException e) {
e.printStackTrace();
}
答案 1 :(得分:0)
这不是CanonicalPath()的绝对值。检查一下,让我知道是否有帮助。
答案 2 :(得分:0)
尝试此操作以获取当前路径
string currentPath = System.getProperty(“ user.dir”);
答案 3 :(得分:0)
如果要读取特定程序包中的文件。您可以使用
File jsonFile = new File(getClass().getResource("/Test.json").getFile());