Duvida sobre I/O

3 respostas
vanzella

Bom dia pessoal.
Converti um array de bytes em um arquivo utilizando o seguinte codigo:

File arquivo = new File(diretorio, nomeArquivo);
	FileOutputStream fileOutputStream = new FileOutputStream(arquivo);
	bufferedOutputStream = new BufferedOutputStream(fileOutputStream);
	bufferedOutputStream.write(bits);

Quando crio esse arquivo a data de criação sera a atual.
Gostaria de saber se tem a possibilidade de eu recuperar a data que foi criado o arquivo através do array de Bytes?

Exemplificando:

  • Criei um arquivo na data 01/01/2009
  • Tranformei em bytes e salvei no banco.
  • Obtive os bytes e criei o arquivo novamente(quando converto esse arquivo ele utilizara uma nova data de criação 28/01/2009, gostria de permanecer com a data antiga de criação 01/01/2009)

Obs: sem a utilização de campos adicionais no banco:

Grato…

3 Respostas

Djonatah

Bom amigo,
ateh onde eu sei cada arquivo tem suas propriedades, e ateh onde eu entendi voce esta criando um arquivo toda vez que retorna do banco. Entao posso estar errado, mas nao tem nenhuma possibilidade de vc ter uma data concrete sobre um array de bytes.

Uma solucao seria deixar os arquivos em um lugar protegido, e guardar apenas o caminho dele no banco.
Ou entao usar campos adicionais.

Abraco
<><

vanzella

Ola Djonatah,
Pois é, acho que as informações de data criação, nome de arquivo entre outras não são salvas quando converto pra bytes, então não tem possibilidade de recuperar nada a não ser o proprio arquivo.

Bom, por enquanto fica essa hipotese, pois ainda não tenho ceteza.

Grato pela ajuda…

T

No way. Se você não salvou em algum lugar, já era.

Alguns tipos de arquivos (acho que o formato .doc do Microsoft Word é assim, mas não tenho certeza) salvam internamente algumas informações de datas e horas, mas aí você teria de abrir o arquivo, interpretá-lo, achar onde é que fica a tal data etc.

Criado 28 de janeiro de 2009
Ultima resposta 28 de jan. de 2009
Respostas 3
Participantes 3