Problema ao ler um arquivo texto quando criado um jar

4 respostas
derickcp

boa tarde galera.
eu fiz um programa swing que quando aberto ele pega os dados de um arquivo.txt e por exemplo preenche um combo
ele funciona normal quando rodo, soh que quando crio o jar (executavel)
e abro o programa ele nao carrega o arquivo texto, sim o arquivo texto esta junto com o jar
se nao estiver ele da erro
alguem sabe o que pode ser?

ja tentei ate apelar dizendo onde esse arquivo estaria tipo c:/dados.txt
e nao funciono
=/
a parte que jogo na memoria os bairros esta abaixo

Bairros bairros = new Bairros();
	reader = new FileReader("C:/Documents and Settings/douglas/Desktop/teste/bairros.txt");
	leitor = new BufferedReader(reader);
	while ((linha = leitor.readLine()) != null) {
		i=0;
		aux = linha.split(",");
		bairros = new Bairros();
		bairros.setNome(aux[i++]);
		listaBairro.add(bairros); 
	}

deixei a lista bairro como publica mesmo para poder acessar nas outras telas
public static List listaBairro = new ArrayList();

na tela de endereco uso assim

List bairros = new ArrayList();
	bairros.add("Selecione o bairro");
	for (int i = 0; i < listaBairro.size(); i++) {
		bairros.add(listaBairro.get(i).getNome());
	}

	cmbBairros = new DefaultComboBoxModel(bairros.toArray());
	cmbBairro = new JComboBox();
	getContentPane().add(cmbBairro);
	cmbBairro.setModel(cmbBairros);
	cmbBairro.setBounds(254, 12, 377, 21);

lembrando aki na minha maquina funciona normal
soh quando crio o jar e executo pelo jar ele nao carrega
o jar eu crio assim

meu manifest
Manifest-Version: 1.0
Main-Class: CapturarDados

e um nome.jardesc

<?xml version="1.0" encoding="WINDOWS-1252" standalone="no"?>

alguem pode me ajudar?

4 Respostas

robinsonbsilva

Jovem,

Se possível, mantenha esse arquivo fora da aplicação, e ponha um “path” menor para testes (ex: “C:\arquivoDados.txt”;

Tenta não incluir ele dentro do .jar, pois as referencias de diretório serão outras.

jgbt

Solução rapida:
coloque o arquivo no mesmo diretorio da classe(.class) e use getResourceAsStream p/ carrega-lo.

[]´s

derickcp

jgbt:
Solução rapida:
coloque o arquivo no mesmo diretorio da classe(.class) e use getResourceAsStream p/ carrega-lo.

[]´s

o meu problema nao era esse
ele carregava o arquivo sim
mas pelo jar ele nao armazenou em memoria, como quando executado pelo proprio eclipse

mas aproveitando valew usei o getResourceAsStream para deixar meu arquivo dentro do jar

uma outra duvida como eu pego um imagem dentro do jar??
fiz tentativas com:

//		TENTATIVAS FRUSTADAS

//              1-

//		imageIcon = new ImageIcon(getClass().getClassLoader().getResource(caminho));

//              2-

//		imageIcon = new ImageIcon(System.getProperty(“user.dir”) + caminho);

//              3-

//		InputStream in = getClass().getResourceAsStream(caminho);

//		byte[] imageData = readData(in);

//             ImageIcon imageIcon = new ImageIcon(imageData);

eu nao consegui nem colocando a pasta de imagem junto com o jar
para conhecimento a varivel caminho = imagens/pequenas/goto1.gif por exemplo

derickcp

resolvi
deixei arquivos txt e fotos dentro do src do jar
e peguei pelo comando

InputStream in = CapturarDados.class.getResourceAsStream(“dados.txt ou imagem.gif”);

Reader reader = new InputStreamReader(in);
    BufferedReader leitor = new BufferedReader(reader);
Criado 22 de julho de 2008
Ultima resposta 29 de jul. de 2008
Respostas 4
Participantes 3