如何使用java区分黑白文本文件,图像,文档? [重复]

问题描述 投票:-2回答:2

这个问题在这里已有答案:

我正在处理文本文件,图像和文档(.log,.txt,.pdf,.doc,.docx,.jpeg,.jpg,.png,.tiff等。)我需要从文件中获取一些元数据他们的内容不是来自扩展。所以,我的问题是:

Q1。如何使用Java区分这些类别的文件(纯文本文件,文本文档(.docx),pdfs,图像)?

Q2。 Java中的任何库在这个过程中会有所帮助吗?

Q3。包含扫描图像的pdf和包含文本的pdf在任何属性方面是否有所不同?

PS:我对此没有太多的专业知识,如果我的调查问卷错了,请好好纠正我。

java text-files document file-type
2个回答
0
投票

你可以使用像Apache Tika这样的东西来检测MIME类型。它分析二进制数据以检测MIME类型。

从前几个字节(它是%PDF)检测PDF。如果您想了解有关元数据的更多信息,可以使用类似Apache PDFBox的内容,它允许检索元数据(请参阅:https://pdfbox.apache.org/1.8/cookbook/workingwithmetadata.html


0
投票

您可以使用Apache Tika内容检测。

import java.io.File;

import org.apache.tika.Tika;

public class Typedetection {

   public static void main(String[] args) throws Exception {

      //assume example.mp3 is in your current directory
      File file = new File("example.mp3");//

      //Instantiating tika facade class 
      Tika tika = new Tika();

      //detecting the file type using detect method
      String filetype = tika.detect(file);
      System.out.println(filetype);
   }

Q3。包含扫描图像的pdf和包含文本的pdf在任何属性方面是否有所不同?

您还可以从包含图像和文本文件的pdfs中提取图像和文本文件。这称为嵌入式提取。检查一下:

https://svn.apache.org/repos/asf/tika/trunk/tika-example/src/main/java/org/apache/tika/example/ParsingExample.java

© www.soinside.com 2019 - 2024. All rights reserved.