Arquivo gerado no ubuntu e nao no windows

14 respostas
renatorudolf

Boa noite

Criei uma aplicação que salva em .txt o texto de um jtextArea, roda normal no ubuntu, mas no windows ele nao gera o arquivo.

Alguem ja passo por isso ?

14 Respostas

Elizeu_Santos

qual o caminho que você mandou ele gerar o arquivo?
lembre que a nomeação de unidades é diferente no windows e no Linux.

renatorudolf

Bom dia Elizeu_Santos

Utilizo a classe Jfilechooser, é ela q me permite escolher um local pra salvar o arquivo.

otaviojava

verifica se ele está gerando alguma exceção.

Mas os arquivos são gerados em qualquer SO.

Digo isso porque pode ser por exemplo permissão.

DeGuedes

Cara eu desenvolvo em ambiente linux e funciona perfeitamente em Windows…

Faça como o colega acima falou, verifique se ele nao esta gerando nenhuma exceção…

[]'s

renatorudolf

Não, nao gera nenhuma exceção, ele simplesmente nao faz nada qdo indico um diretorio para salvar

O arquivo é gerado normalmente em ambiente linux só em windows que não.

renatorudolf

Onde pode estar ocorrendo o erro ?

DeGuedes

Cara… muito estranho… independente do SO, o arquivo deveria ser gerado…

posta ai como vc ta salvando esse arquivo…

[]'s

renatorudolf

public void salvaArquivo(JTextComponent texto) throws IOException {

JFileChooser salvandoArquivo = new JFileChooser();
	int resultado = salvandoArquivo.showSaveDialog(null);

	FileFilter filefilter = new FileNameExtensionFilter("Arquivo txt",
			".txt");
	salvandoArquivo.addChoosableFileFilter(filefilter);
	if (resultado == JFileChooser.APPROVE_OPTION) {

		File salvarArquivoEscolhido = salvandoArquivo.getSelectedFile();
		this.salvaArquivo = salvarArquivoEscolhido;

		if (salvarArquivoEscolhido.exists() == true) {

			int selecionaOpcao = JOptionPane.showConfirmDialog(null,
					" O arquivo já existe, deseja sobrescreve-lo? ", null,
					JOptionPane.OK_CANCEL_OPTION);
			if (selecionaOpcao == JOptionPane.OK_OPTION) {

				FileWriter filewriter = new FileWriter(salvaArquivo);
				PrintWriter pw = new PrintWriter(filewriter);
				pw.println(texto.getText());
				pw.close();

			}

		} else {
			FileWriter filewriter = new FileWriter(salvaArquivo);
			PrintWriter pw = new PrintWriter(filewriter);
			pw.println(texto.getText());
			pw.close();
		}

	}
}
renatorudolf

public void salvaArquivo(JTextComponent texto) throws IOException {

JFileChooser salvandoArquivo = new JFileChooser();
	int resultado = salvandoArquivo.showSaveDialog(null);

	FileFilter filefilter = new FileNameExtensionFilter("Arquivo txt",
			".txt");
	salvandoArquivo.addChoosableFileFilter(filefilter);
	if (resultado == JFileChooser.APPROVE_OPTION) {

		File salvarArquivoEscolhido = salvandoArquivo.getSelectedFile();
		this.salvaArquivo = salvarArquivoEscolhido;

		if (salvarArquivoEscolhido.exists() == true) {

			int selecionaOpcao = JOptionPane.showConfirmDialog(null,
					" O arquivo já existe, deseja sobrescreve-lo? ", null,
					JOptionPane.OK_CANCEL_OPTION);
			if (selecionaOpcao == JOptionPane.OK_OPTION) {

				FileWriter filewriter = new FileWriter(salvaArquivo);
				PrintWriter pw = new PrintWriter(filewriter);
				pw.println(texto.getText());
				pw.close();

			}

		} else {
			FileWriter filewriter = new FileWriter(salvaArquivo);
			PrintWriter pw = new PrintWriter(filewriter);
			pw.println(texto.getText());
			pw.close();
		}

	}
}
DeGuedes

cara faz um favor, posta pra nós o que esse metodo te retorna:

System.out.println(salvandoArquivo.getSelectedFile());

[]'s

renatorudolf

Retorna o arquivo selecionado, certo ?

DeGuedes

Sim mas ele retorna somente o nome dele , ou o diretorio + nome?

[]'s

renatorudolf

o diretorio + o nome.

renatorudolf

Galera o que pode estar acontecendo java é multiplataforma o codigo é reconhecido em qualquer virtual machine

Criado 23 de fevereiro de 2011
Ultima resposta 24 de fev. de 2011
Respostas 14
Participantes 4