Duvida com path ao abrir arquivo

Pessoal,

Tenho um programa que possui um pacote Util e dentro dele tem um arquivo.txt que preciso ler.

A minha classe que tenta abrir o arquivo está em um outro pacote chamado compilador. Como eu faço no construtor FileReader achar esse arquivo? Olha abaixo o que eu fiz

simbolos = new FileReader("…\Util\PalavrasReservadas.txt");

O que tá errado?

Talvez para melhorar isso aí use a função que extrai o diretório desde a Unidade primária

ex:

String Hd=System.getProperty(“user.dir”);

[quote=Algebra]Talvez para melhorar isso aí use a função que extrai o diretório desde a Unidade primária

ex:

String Hd=System.getProperty(“user.dir”); [/quote]

Mas isso ele me dá o diretorio do projeto! Eu preciso do path relativo a classe tipo quero pegar um arquivo que está em outro pacote dentro do meu programa.

Esse ai eu vou ter o path do projeto. Acho que não ficaria legal.

Você recebe alguma mensagem de erro? qual?

Olha que estranho o erro:

\Util\PalavrasReservadas.txt (O sistema não pode encontrar o caminho especificado)

Ele tá tentando pegar o arquivo na raiz do projeto, mas o arquivo está dentro de src\Util\arquivo.txt.

Se eu coloco esse arquivo no raiz do projeto quando eu quiser criar o jar ele não vai ser empacotado certo? Preciso de uma forma de abrir o arquivo onde o mesmo vai ser levado junto ao pacote .jar.

Para obter um recurso dentro do projeto, proceda da seguinte forma:

InputStream in = ClassLoader.getSystemClassLoader().getClass().getResourceAsStream("/com/application/resources/File.txt");

[]s

[quote=cristian_clever]Para obter um recurso dentro do projeto, proceda da seguinte forma:

InputStream in = ClassLoader.getSystemClassLoader().getClass().getResourceAsStream("/com/application/resources/File.txt");

[]s[/quote]

InputStream pode ser passado para o BufferedReader?

Abraços, desculpa a noobice.

Sem dúvida:

[code]
StringBuilder fullText = new StringBuilder();
try {
InputStream in = ClassLoader.getSystemClassLoader().getClass().getResourceAsStream("/com/MeuArquivoTexto.txt");
BufferedReader in2 = new BufferedReader(new InputStreamReader(in));

		String str;
		while ((str = in2.readLine()) != null) {

			fullText.append(str);
		}
		in2.close();
		in.close();
	}
	catch (IOException e) {
		Log.error(e);
		throw new RuntimeException(e);
	}[/code]

[]s