Digamos que no nosso projeto temos a seguinte estrutura:
. └── src ├── meu-pacote │ └── nio2 │ └── MinhaClasse.java └── config.xml
Dentro de MinhaClasse
, estou interessado em obter o conteúdo do arquivo config.xml
.
Para isso:
- obtemos a URI do recurso através do método
getResource
de nosso classe seguido ao métodotoURI
- utilizamos o método
get
da classe auxiliarPaths
para obter umPath
a partir da URI - criamos uma String a partir dos bytes retornados pelo método
readAllBytes
da classe auxiliarFiles
public class MinhaClasse { public static void main(String[] args) throws URISyntaxException, IOException { URI uriDoRecurso = MinhaClasse.class.getResource("/config.xml").toURI(); Path pathDoRecurso = Paths.get(uriDoRecurso); String conteudoDoRecurso = new String(Files.readAllBytes(pathDoRecurso)); System.out.println(conteudoDoRecurso); } }
Ao executarmos o código anterior de dentro de nossa IDE, o código tem o efeito esperado. Tudo funciona!
Mas e se exportarmos para um JAR?
Anúncios