Data ao salvar um txt

7 respostas
M

E ae galera… o meu método do save no filechooser ta aparecendo a extensao .txt certinho e tal, mas queria que já mostrasse a data atual do pc + a extensao .txt … para nao precisar ficar escrevendo toda vez que vai salvar. Tem como?

Segue o código do método save:

boolean saveFile() {
        
        JFileChooser fc = new JFileChooser();
        fc.setDialogTitle ("Salvar arquivo");                       
               
        // Define o diretório atual para a aplicação
        try {   
        File f = new File(new File("C:\Documents and Settings\Proprietário\Meus documentos\.txt").getCanonicalPath());         
        // Criar um arquivo contendo o objeto canônico do caminho do arquivo desejado       
        fc.setSelectedFile(f);
        // Configura o arquivo selecionado
          } catch (IOException e) {
        }     
       
        File curFile = fc.getSelectedFile();
        // Pega o arquivo atualmente selecionado
        
        //Filtrar TXT
        fc.setFileFilter(new FiltroTxt());
        fc.setAcceptAllFileFilterUsed(false);
                        
        // Abrir caixa de escolha
        int result = fc.showSaveDialog(this);
                
        if (result == JFileChooser.CANCEL_OPTION) {
            return true;
        } else if (result == JFileChooser.APPROVE_OPTION) {
            fFile = fc.getSelectedFile();
            if (fFile.exists()) {
                int response = JOptionPane.showConfirmDialog(null,
                        "Substituir o arquivo existente?", "Confirmar substituição",
                        JOptionPane.OK_CANCEL_OPTION,
                        JOptionPane.QUESTION_MESSAGE);
                if (response == JOptionPane.CANCEL_OPTION) {
                    return false;
                }
            }

            return writeFile(fFile, areaRelatorio.getText());

        } else {
            return false;
        }
    } // saveFile

Valeu.

7 Respostas

thiagocg

Olá marko, vc poderia usar um nome fixo para o arquivo passando esse nome como parametro para seu metodo salvar concatenado à data atual formatada para o idioma q vc precisa, dando a opção apenas para o usuário escolher em qual diretorio ele deseja salvar o arquivo, por exemplo:

try {
			JFileChooser chooser = new JFileChooser();
			chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
			int acao = chooser.showOpenDialog(chooser);
			switch(acao){
				case JFileChooser.APPROVE_OPTION:
					String caminho = chooser.getSelectedFile().toString();
					SimpleDateFormat formatoDt = new SimpleDateFormat("yyyy_MM_dd");
					String formatoData = formatoDt.format(new Date());
					String arq = "nome_fixo_" + formatoData + ".txt";
					File file = new File(caminho + "\" + arq);
				break;
				case JFileChooser.CANCEL_OPTION:
					return;
			}	
		} catch (Exception e) {
			e.printStackTrace();
		}

ai vc ja tem o seu arquivo com nome, data e caminho completo bastando o usuário indicar onde deseja salvar, ai vai faltar apenas vc escrever o seu arquivo!

Espero ter ajudado!

Abraço!

M

vo tentar, vlw thiago.

M

nao ta dando certo ;S
pode ser que eu to fazendo algo de errado, nao sei.
nao da pra tu implementar já no meu método? se nao for pedir demais.
Valeu.

thiagocg

Marko:
nao ta dando certo ;S
pode ser que eu to fazendo algo de errado, nao sei.
nao da pra tu implementar já no meu método? se nao for pedir demais.
Valeu.

Fala em q linha da erro e posta a sua classe e o erro pra eu ver o q pode ser, pq o que te enviei eu mesmo testei aqui e ta funcionando!

M

tipo… eu apaguei o meu método e botei o seu pra testar, dai no chooser nao aparece a data, aparece o diretório como o nome do arquivo.
Implementei no meu método e ta dando esse erro:

java.lang.NullPointerException

at RelatorioBeta.saveFile(RelatorioBeta.java:140)

at RelatorioBeta.actionPerformed(RelatorioBeta.java:320)
zirocool

Marko:
tipo… eu apaguei o meu método e botei o seu pra testar, dai no chooser nao aparece a data, aparece o diretório como o nome do arquivo.
Implementei no meu método e ta dando esse erro:

java.lang.NullPointerException

at RelatorioBeta.saveFile(RelatorioBeta.java:140)

at RelatorioBeta.actionPerformed(RelatorioBeta.java:320)

</blockquote>

NullPointerException é problema de instância, tu tá com algum parâmetro nulo ae… dá uma olhada na linha 140 e 320. Tem algo q tu tah chamando em uma dessas linhas q tá vindo nulo…

M

deu certo agora, valeu :smiley:

Criado 25 de julho de 2008
Ultima resposta 26 de jul. de 2008
Respostas 7
Participantes 3