Tutorial – Como acessar arquivos do seu jar

Estou escrevendo esse tutorial de maneira despretensiosa, afinal sou só um programador intermediário. Eu vejo muita gente com essa dúvida, até mesmo programadores “experientes” às vezes não sabem como se faz isso, acessar qualquer tipo de arquivo que está dentro do jar que você criou. Sim você pode acessar aquela figura que está no seu arquivo jar ao invés de ter que distribuir junto com o seu jar uma pasta com as imagens. Mas você não está limitado a somente imagens (geralmente para ícones), você pode acessar qualquer tipo de arquivo que está dentro do seu jar.
A função mais utilizada desse tipo é sem dúvida a de distribuir os ícones junto do jar, então vamos logo ao código:

ImageIcon icon = new ImageIcon( getClass().getResource( “icon/verde.gif” ) );

Dessa forma você acessa o ícone.gif que está na pasta icon do jar. Um problema enfrentado por aqueles que rodam a aplicação pela IDE é que o programa simplesmente não acha o gif! Mas como? No jar funciona mas no eclipse por exemplo não. É que você precisa colocar a pasta icon onde estão os arquivos .class. Exemplo:

Projeto
     - bin
         - icon
     - src
     - icon

A IDE vai reconhecer a pasta icon agora.

Como eu havia dito é possível ler arquivos outros que não de imagens. Exemplo:

InputStream im = getClass().getResourceAsStream( “icon/texto.txt” );

A diferença é o uso do getResourceAsStream. Com isso você pode ler o arquivo como qualquer ImputStream.

Sugestões, criticas ou idéias, falem.
Valeu a todos.

Por favor sou iniciante em java , e não estou conseguindo acessar meus arquivos de audio compactados no meu jar . Como faço pra que quando execute meu jar ele encontra todos arquivos de audio dentro dele mesmo ?e os demais tipos de arquivos ? desde já agradeço se alguém puder me responder com exemplos .

Por favor sou iniciante em java , e não estou conseguindo acessar meus arquivos de audio compactados no meu jar . Como faço pra que quando execute meu jar ele encontra todos arquivos de audio dentro dele mesmo ?e os demais tipos de arquivos ? desde já agradeço se alguém puder me responder com exemplos .