2011-07-21 183 views
0

我正在看編寫一個程序,可以測試文件的腐敗和/或損壞。我寧願用Java編寫程序。使用Java來測試文件損壞和損壞

現在,對於棘手的部分,是否有可能使用Java來測試許多不同文件類型中的文件損壞/損壞?我主要考慮檢查.pdf.html.txt文件,但我擔心可能會有更多文件添加到列表中。我真的不知道這是否可以寫或不可以。如果Java不能做到這一點,有可能用C做到這一點?

回答

0

文件始終可以看作是Java可以讀取的字節集合。如果你有一個算法來檢查損壞,沒有什麼能阻止你在Java中實現它。

使用一些好的設計模式可以很容易地支持不同的文件類型。

1

我想你將不得不把它按檔案的基礎。例如

  • 文本文件 - 確保您可以使用的FileReader
  • HTML讀取文件 - 確保它是一個文本文件,該HTML文件是否有效
  • PDF - 使用PDF生成器看看你是否可以閱讀pdf,它是有效的

但正如亞歷克斯建議,沒關係,如果你在java中這樣做。只要你可以讀取字節,你可以檢查。

您還必須定義腐敗。如果通過破壞你的意思是HD上有正確的磁盤塊,那麼你可能需要一個較低級別的編程語言。如果你的意思是所有的字節代表正確的數據,那麼你可以用任何語言做到這一點。

1

您首先需要定義「腐敗」。如果您可以假設文件狀態良好,只要您可以打開它,請閱讀其內容,確認其文件權限,並確認文件不是空的,這可以通過java io API在java中執行。

如果您對有效文件的定義包含更多規則(如HTML文件需要採用有效的XML格式),並且PDF需要正確/完整,那麼根據您的要求,您的程序將變得更有趣。對於PDF文件,可以使用的iText來閱讀,並得到他們的元數據:

http://itextpdf.com/

0

Acrobat中有一些相當強大的修復功能,因此維修和打開許多破碎的文件。該規範也非常鬆散地解釋(例如TT字體應該是MAC編碼,但實際上WIN編碼工作)。