lastModified esta retornando data 31/12/1969

5 respostas
M

Olá a todos, estou tentando pegar a data da ultima modificacao de uns arquivos e para isso uso esse codigo
como podem ver ele lista os arquivos num jtable, ate ai tudo certo, o problema é que a data retornana é

31/12/1969
eu ja vasculhei todo o codigo e nao consigo encontrar o "fio solto"
entao estou recorrendo a vcs amigos.

public void Jtable()
    {
        jTable1.getColumnModel().getColumn(0).setPreferredWidth(100);
        jTable1.getColumnModel().getColumn(1).setPreferredWidth(100);
        jTable1.getColumnModel().getColumn(2).setPreferredWidth(100);
        DefaultTableModel modelo = (DefaultTableModel)jTable1.getModel();
        modelo.setNumRows(1);
        
                try
                {

                    File arquivo = new File (jTextField1.getText());
                    String arquivos [] = arquivo.list();


                for (String s : arquivos)

                       {
                         File f = new File(s);
                         DateFormat formatDatacr = new SimpleDateFormat("dd/MM/yyyy");
                         String data = formatDatacr.format(new Date(f.lastModified()));

                         modelo.addRow(new Object[]{(jTextField1.getText()+f.getName()),data});
                      }
                }catch (Exception exc){
                JOptionPane.showMessageDialog(null,"Naõ pode localizar os arquivos"+ exc);
           }
      }

5 Respostas

V

Ai, ai, esse pessoal que não lê o Javadoc:

Returns the time that the file denoted by this abstract pathname was last modified.

Returns:
    A long value representing the time the file was last modified, measured in milliseconds since the epoch (00:00:00 GMT, January 1, 1970),[b] or 0L if the file does not exist or if an I/O error occurs[/b] </blockquote>

Notou a semelhança com valor inicial do long e com a data que vc está imprimindo? Isso é pq sua data está retornando 0, portanto, ou seu arquivo não existe, ou o Java é incapaz de ler a data que ele foi modificado.

Além disso, não use DefaultTableModel.

M

Não existe ?? existe sim mestre, tem uma pasta cheia de fotos na coluna 0 ele retona o endereco, tudo certo, será que o problema esta na DefaultTableModel ? mas obrigadão, vou ler o javadoc, e descobrir oq ta acontecendo. obrigado! oq que intriga que fiz a mesma coisa em outra aplicacao, praticamente no mesmo jeito, e nessa outra aplicacao funciona do jeito que quero e nesse codigo tá agarrado, mas pior de tudo mesmo, foi que joguei o projeto dessa aplicacao fora, agora perdi a referencia que eu tinha. mas ta blz

V

Alguém tem um problema sério com a leitura:

  • Ou seu arquivo não existe, ou o Java é incapaz de ler a data que ele foi modificado.

Você tem certeza que seu objeto file está apontando para o arquivo certo? E que o usuário que da a aplicação java tem permissão de leitura nesse arquivo?

O problema não está no TableModel.

M

Ixii velho, lendo daki e olhando acolá na api do java, resolvi o problema levou uns 2 minutinhos, tudo muito simples, java é uma maravilha, tudo documentado…sem palavras!
uma linguagem documentada, com varias fontes litetarárias, diversos artigos na internet e milhoes de programadores profissionais no brasil, ensinados em SENAI e centros tecnicos. etc…
não tem como não aprender né broderr.

A James e Sun, meus agradecimentos.

V

E qual era o problema? Por que não estava funcionando na sua aplicação, exatamente?

Criado 5 de julho de 2011
Ultima resposta 15 de jul. de 2011
Respostas 5
Participantes 2