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 ?
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 ?
qual o caminho que você mandou ele gerar o arquivo?
lembre que a nomeação de unidades é diferente no windows e no Linux.
Bom dia Elizeu_Santos
Utilizo a classe Jfilechooser, é ela q me permite escolher um local pra salvar o arquivo.
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.
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
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.
Onde pode estar ocorrendo o erro ?
Cara… muito estranho… independente do SO, o arquivo deveria ser gerado…
posta ai como vc ta salvando esse arquivo…
[]'s
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();
}
}
}
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();
}
}
}
cara faz um favor, posta pra nós o que esse metodo te retorna:
System.out.println(salvandoArquivo.getSelectedFile());
[]'s
Retorna o arquivo selecionado, certo ?
Sim mas ele retorna somente o nome dele , ou o diretorio + nome?
[]'s
o diretorio + o nome.
Galera o que pode estar acontecendo java é multiplataforma o codigo é reconhecido em qualquer virtual machine