Dúvida com I/O

4 respostas
A

Boa Tarde a todos!

Gostaria de saber como verifico se um arquivo pdf está corrompido para que possa ser feito novamente o download do msm

pensei que com:

File f = new File(dir+nameFile); f.canExecute();

conseguiria, mas arrumei um pdf corrompido e o método canExecute retornou true tb…

o que eu faço!?

Obrigado

4 Respostas

Djonatah

Colega,

Geralmente percebe-se que o arquivo esta corrompido quando vc tenta interpretar ele. No seu caso vc vai ter que usar alguma library que trabalhe com PDFs, ou entao escrever um codigo que tente interpretar o PDF para determinar se ele esta corrompido ou nao.

Eu trabalho com PDFs, mas nao sou um profundo conhecedor dos elementos dele, mas dando uma pequena olhada, percebi que os PDFs que eu abri com editor de texto terminam com “%%EOF”, talvez isso ajude.

A

Djonatah:
Colega,

Geralmente percebe-se que o arquivo esta corrompido quando vc tenta interpretar ele. No seu caso vc vai ter que usar alguma library que trabalhe com PDFs, ou entao escrever um codigo que tente interpretar o PDF para determinar se ele esta corrompido ou nao.

Eu trabalho com PDFs, mas nao sou um profundo conhecedor dos elementos dele, mas dando uma pequena olhada, percebi que os PDFs que eu abri com editor de texto terminam com “%%EOF”, talvez isso ajude.

mas todos que vc abriu com editor e terminaram com isso funfaram??? pra me basear nissa terminologia do arquivo vou ter que analisar um bom numero pra saber se isso é confiável

Djonatah

Colega,

Eu apenas quis mostrar que não é tão simples saber se o arquivo está corrompido. Vc vai ter que escrever algo para determinar se o PDF está corrompido ou não (se não quiser utilizar nenhuma outra library que manipule PDFs). Sendo assim, meu comentário sobre o %%EOF é apenas pontapé inicial do seu desenvolvimento…

Mas provavelmente alguém aqui no fórum já enfrentou situação semelhante. Vamos esperar outras respostas.

B

Vou dar um pequeno exemplo. Digamos que você queira saber se o arquivo http://www.openssl.org/source/openssl-1.0.0a.tar.gz foi corretamente baixado.
Nesse site, eles também disponibilizam um pequeno arquivo ( http://www.openssl.org/source/openssl-1.0.0a.tar.gz.md5 ) que contém o MD-5 desse arquivo. O conteúdo desse arquivo é “e3873edfffc783624cfbdb65e2249cbd”.

Então você precisa baixar o arquivo openssl-1.0.0a.tar.gz , calcular o MD5, e ver se ele bate com o previsto (que é e3873edfffc783624cfbdb65e2249cbd ). Se bater, então você baixou corretamente o arquivo.

Obviamente quase ninguém faz isso (deixar um arquivo .md5 ou .sha1 em paralelo com o arquivo original), portanto se houver algum problema…

O DownThemAll! (Plugin do Firefox) testa sempre para ver se existe um arquivo .md5 ou .sha1. Se esse arquivo existir, ele o usa para checar se o arquivo foi corretamente baixado.

Criado 10 de setembro de 2010
Ultima resposta 10 de set. de 2010
Respostas 4
Participantes 3