2011-07-21 146 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编码工作)。