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étodo toURI
- utilizamos o método
get
da classe auxiliar Paths
para obter um Path
a partir da URI
- criamos uma String a partir dos bytes retornados pelo método
readAllBytes
da classe auxiliar Files
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?
Continuar lendo “Obtendo recursos embutidos em JARs com NIO.2”