Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Ler arquivo JSON localizados no ClassPath

Ola,

Estou tendo dificuldades ao ler arquivos JSON localizados em src/main/resources do meu projeto JAVA. Utilizei o seguinte comando para fazer a leitura dos arquivos:

private var JSONArray jsonData;
private JSONParser parser = new JSONParser();

String path = Thread.currentThread().getContextClassLoader().getResource("").getPath();
jsonData = (JSONArray) parser.parse(new FileReader(path + "movies-list.json"));

Tudo funciona quando inicio um servidor através da GrizzlyHttpServerFactory, porém, quando realizando testes com JUnit recebo FileNotFoundException,

java.io.FileNotFoundException: /api/test/target/test-classes/movie-list-3.json (No such file or directory)

Realmente o diretório test-classes não contém os arquivos json, porém não encontrei uma maneira elegante de realizar a leitura dos arquivos que estão no ClassPath que seja universal para meu projeto.

Podem me ajudar ?

1 resposta
solução!

Resolvido, eis a solução abaixo:

String absolutePath = new File("src/main/resources").getAbsolutePath();
String fileName = "/movie-list-" + (new Random().nextInt(3) + 1) + ".json";
String filePath = absolutePath + fileName;

Aceito sugestões :)