在Spring Boot中从资源文件夹读取文件

我正在使用Spring Boot" title="Spring Boot">Spring Boot和json-schema-validator。我正在尝试jsonschema.jsonresources文件夹读取一个文件。我尝试了几种不同的方法,但无法正常工作。这是我的代码。

ClassLoader classLoader = getClass().getClassLoader();

File file = new File(classLoader.getResource("jsonschema.json").getFile());

JsonNode mySchema = JsonLoader.fromFile(file);

这是文件的位置。

在这里,我可以看到文件classes夹中的文件。

但是,当我运行代码时,出现以下错误。

jsonSchemaValidator error: java.io.FileNotFoundException: /home/user/Dev/Java/Java%20Programs/SystemRoutines/target/classes/jsonschema.json (No such file or directory)

我在代码中做错了什么?

回答:

在花费大量时间尝试解决此问题之后,终于找到了可行的解决方案。该解决方案利用了Spring的ResourceUtils。也应该适用于json文件。

package utils;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import org.springframework.util.ResourceUtils;

import java.io.FileInputStream;

import java.io.IOException;

import java.io.InputStream;

import java.util.Properties;

import java.io.File;

public class Utils {

private static final Logger LOGGER = LoggerFactory.getLogger(Utils.class.getName());

public static Properties fetchProperties(){

Properties properties = new Properties();

try {

File file = ResourceUtils.getFile("classpath:application.properties");

InputStream in = new FileInputStream(file);

properties.load(in);

} catch (IOException e) {

LOGGER.error(e.getMessage());

}

return properties;

}

}

要回答有关评论的一些问题:

可以肯定地说,我已经在Amazon EC2上使用 java -jar target/image-service-slave-1.0-SNAPSHOT.jar

以上是 在Spring Boot中从资源文件夹读取文件 的全部内容, 来源链接: utcz.com/qa/424717.html

回到顶部