2012-06-09 59 views
0

在我的应用程序中,我将收到一个文件。我必须检查文件是否具有可搜索的文本(文本内容)或不可搜索的文本(图像)并显示。在java中识别可搜索/不可搜索的文件

我无法使用文件扩展名,因为在PDF文件中,我们也可以有非可搜索类型。

我需要这个java代码。任何人都可以帮助我。

+1

我认为这个链接可以帮助你:http://stackoverflow.com/q/620993/1001027 –

+1

在PDF文件的情况下,你必须真正打开文件并检查它的结构,看看是什么样的它包含的数据。其他文件类型也是如此,例如Word文档。这是一项重要的工作:您必须实际支持您希望程序理解的每种文件格式。没有神奇的'File.containsSearchableData()'方法。 – Wyzard

回答

0

此问题的实际解决方案将涉及从文件内容中找出未知文件的MIME类型。然后,您需要建立从MIME类型到类的映射,以提取相应文件类型的文本。

有做的第一部分(识别MIME类型)库,虽然这是一种启发式的过程,可以(在理论上)返回错误的答案,或者(实际上)“未知”。下面是关于如何做到这一点做题和其他参考样本:

0

这掌握在data mining面积,还有搜索引擎(Lucene)。有很多转换器(pdftotext,htmltotext,unzip,等等)。然后字符编码起作用; UTF16-LE每个字符使用两个字节。某些文件类型具有标识标头,魔术饼干(JPEG,GIF,PDF)。

最好做最适合您的需求的项目的互联网研究。然后在设计一个功能流水线之后,增加功能。

如果你需要一个设计,为数据挖掘死者的标准,JDM 2.0可能提供的API。