Como faço para acessar um arquivo texto de dentro do .jar? Me falaram que dá pra usar ClassLoader, mas não me explicaram direito…
Agradeço se puderem ajudar
Como faço para acessar um arquivo texto de dentro do .jar? Me falaram que dá pra usar ClassLoader, mas não me explicaram direito…
Agradeço se puderem ajudar
Como assim acessar um arquivo ?
Vc pode acessar uma Classe, desde que ela esteja no seu classpath, pois o jar é um ‘zip’ com todas as classes compiladas. Não precisa de classloader.
Agora se vc enfiou um arquivo não .class la dentro e quer recuperar… hum… ai é interessantel alguem nos explicar =)
Voce pode utilizar o metodo getResourceStream da Class para pegar o arquivo dentro do jar.
Agora qualquer coisa dentro do seu jar está visivel para vc como se fosse um arquivo numa pasta. Sendo assim basta colocar o caminho.
Segue abaixo copia do javadoc
public InputStream getResourceAsStream(String name)
Finds a resource with a given name. This method returns null if no resource with this name is found. The rules for searching resources associated with a given class are implemented by the defining class loader of the class.
This method delegates the call to its class loader, after making these changes to the resource name: if the resource name starts with "/", it is unchanged; otherwise, the package name is prepended to the resource name after converting "." to "/". If this object was loaded by the bootstrap loader, the call is delegated to ClassLoader.getSystemResourceAsStream.
Parameters:
name - name of the desired resource
Returns:
a java.io.InputStream object.
Throws:
NullPointerException - if name is null.
Since:
JDK1.1
See Also:
ClassLoader
Sem testar:
try {
Properties p = new Properties();
properties.load(getClass().getResourceAsStream("/resource/client.properties"));
} catch (Exception e) {
e.printStackTrace();
}
Marcio Kuchma