Portabilidade usando string como PATH's

Estava desenvolvendo um sistema em Windows com JAVA. Ao transferir todo o ambiente de desenvolvimento para o Linux, comecei a ter problemas devido a esta diferença:

versão Windows - “C:\aplicacao\teste.txt”
versão Linux = “/aplicacao/teste.txt”

Como se faz para não termos que nos preocupar com este problema de “portabilidade” ? Existe uma nomenclatura universal para PATH’s ?
Já aproveitando, quando empacoto tudo em um arquivo JAR, inclusive figuras, como se faz para descrevermos a PATH destes arquivos “não JAVA” dentro do JAR?

Use java.io.File.pathSeparator. Este campo lhe retorna uma String representando o separador-padrão para a plataforma.

Caso você deseje referenciar algum path dentro de alguma classe você pode usar java.io.File.pathSeparator que é o separador de path padrão do sistema operacional no qual a aplicação está rodando.
Exemplo:

File arq = new File(File.pathSeparator + "teste.txt");
até mais. :smiley:

Bom, se a questao eh ser verdadeiramente multiplataforma, vc nao deveria ter nenhum path no seu codigo :wink:

Um bom getClass().getClassLoader().getResourceAsStream() pra pegar o arquivo de configuracao pra vc deve resolver a maior parte dos problemas :smiley:

Obrigado pela ajuda pessoal! Porém ao fazer isto no Linux, a variavel File.pathSeparator fica sendo " : ", enquanto a variavel File.separator fica " / ". Na verdade eu estava precisando da segunda opção.