JFileChooser

3 respostas
A

[color=blue]

Pessoal quando tento salvar minha tabela, abre a opção p/ escolher onde salvar, mas só salva no arquivo que estou criando. Como implemento o código para salvar nas opções que aparecem na caixa de opção?
Segue o código:
[/color]

public void salvaTabela() { 

		JFileChooser fileChooser = new JFileChooser();   
			int result = fileChooser.showOpenDialog(null);   
			if(result == JFileChooser.CANCEL_OPTION){   
			}    
			else{   
				String file = fileChooser.getSelectedFile().getPath();   
			} 
		FileOutputStream arquivoTexto;     
		PrintStream arquivo;     
		try{     
			arquivoTexto = new FileOutputStream("");     
			arquivo = new PrintStream(arquivoTexto);     
			for (int i=0; i<=jt_receita.getRowCount(); i++){   
				arquivo.print(jt_receita.getValueAt(i,0) + "\t");     
				arquivo.println(jt_receita.getValueAt(i,1));
				//Append();
				//for (int j=0; j<=jt_despesa.getRowCount(); i++){   
					//arquivo.print(jt_despesa.getValueAt(j,0) + "\t");     
					//arquivo.println(jt_despesa.getValueAt(j,1));
				}  
				arquivo.close(); 
			
		}
		catch (Exception e) {     
			e.printStackTrace();     
		}     
	}
[color=darkblue]
A propósito, no pedaço de código comentado, estou tentando salvar a outra JTable do meu programinha no mesmo arquivo, mas não estou conseguindo pois se "retiro" o comentario salvo apenas a 1ª linha da primeira tabela. Se alguém puder me ajudar, vlw.
[/color]

3 Respostas

Metaleiro

[color=darkblue] Não sei se vai te ajudar, mas de qualquer forma está ai :[/color]

Como pegar o caminho completo de um diretório num JFileChooser???

ViniGodoy
Ué, você está descartando o arquivo que você obtém com getSelectedFile(). Tem que usa-lo!
public void salvaTabela() { 
   JFileChooser fileChooser = new JFileChooser();   
   if(fileChooser.showOpenDialog(null) == JFileChooser.CANCEL_OPTION){   
      return;
   }    
		
   File file = fileChooser.getSelectedFile();   

   PrintWriter arquivo = null;		 
   try{     
      arquivo = new PrintWriter(file); //Aqui vc indica que quer o arquivo escolhido

      for (int i=0; i<=jt_receita.getRowCount(); i++){   
         arquivo.print(jt_receita.getValueAt(i,0) + "\t");
         arquivo.println(jt_receita.getValueAt(i,1));
      }  	
   catch (Exception e) { //Péssima prática. Nunca use catch (Exception e) aqui
        e.printStackTrace(); //Péssima prática. Use logs num local decente.
   }		
   finally {
      //Sempre feche seus arquivos num finally;
      if (arquivo != null)
         arquivo.close(); 
   }
}
A

Valeu cara, funcionou perfeitamente.

Criado 17 de julho de 2009
Ultima resposta 17 de jul. de 2009
Respostas 3
Participantes 3