#java #spring #maven
#java #spring #maven
Вопрос:
Я разрабатываю весеннее Java-приложение с Maven. Мне нужно прочитать файл .json, который находится в папке Resources в моем проекте, а затем снова вернуть его контроллером в виде файла .json. Как я могу это сделать? Я новичок…
Комментарии:
1. Наконец, я использовал: FileReader reader = new FileReader(«classpath:myfile») ; JsonParser JsonParser = new JsonParser(); JSONArray JSONObject = (JSONArray) JsonParser.parse(reader); return JSONObject; Работает хорошо, у меня проблемы только с локальными символами в файле json.
2. Смотрите java.io.FileReader : » Конструкторы этого класса предполагают, что кодировка символов по умолчанию [является] подходящей. Чтобы указать […] значение[..] самостоятельно, создайте InputStreamReader в FileInputStream. »
Ответ №1:
Папка ресурсов находится в вашем пути к классу. Любой файл, который находится в вашем пути к классу, вы можете прочитать через это.
InputStream in = this.getClass().getClassLoader().getResourceAsStream("yourFile.json");
вы можете прочитать, используя getResourceAsStream
.
Ответ №2:
Если вы получаете доступ к файлу в Spring bean, вы также можете использовать подобную аннотацию @Value (она работает только в spring beans)
@Value("classpath:data/resource-data.txt")
Resource resourceFile;
https://www.baeldung.com/spring-classpath-file-access#2-using-value