Предположим, что все ваши jsоны хранятся в папке src/main/resources
, тогда вы можете сделать это так.
1. Сначала напишите метод для чтения файла json следующим образом:
public String readJson(String fileName) throws IOException {
final StringBuilder responseData = new StringBuilder();
InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(fileName);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
String line = null;
while ((line = bufferedReader.readLine()) != null) {
responseData.append(line);
}
return responseData.toString();
}
2. Теперь создайте HashMap<String,String>
и вызовите указанный выше метод для каждого файла
public void storeFileDataAsMap() {
Map<String, String> fileMap = new HashMap<>();
try (Stream<Path> paths = Files.walk(Paths.get("src/main/resources"))) {
paths
.filter(Files::isRegularFile)
.forEach(eachFile->{
try {
String fileName = eachFile.toAbsolutePath().toString();
fileMap.put(eachFile.getFileName().toString(), readJson(fileName));
} catch (IOException e) {
throw new RuntimeException("File not found exception");
}
});
} catch (IOException e) {
throw new RuntimeException("File not found exception");
}
}