TIKA-문서 유형 감지
MIME 표준
MIME (Multipurpose Internet Mail Extensions) 표준은 문서 유형을 식별하는 데 가장 적합한 표준입니다. 이러한 표준에 대한 지식은 내부 상호 작용 중에 브라우저에 도움이됩니다.
브라우저가 미디어 파일을 발견 할 때마다 해당 콘텐츠를 표시하기 위해 사용 가능한 호환 소프트웨어를 선택합니다. 특정 미디어 파일을 실행하는 데 적합한 응용 프로그램이없는 경우 사용자에게 적합한 플러그인 소프트웨어를 얻을 것을 권장합니다.
Tika의 유형 감지
Tika는 MIME에서 제공되는 모든 인터넷 미디어 문서 유형을 지원합니다. 파일이 Tika를 통해 전달 될 때마다 파일과 해당 문서 유형을 감지합니다. 미디어 유형을 감지하기 위해 Tika는 내부적으로 다음 메커니즘을 사용합니다.
파일 확장자
파일 확장자를 확인하는 것은 파일 형식을 감지하는 데 가장 간단하고 널리 사용되는 방법입니다. 많은 응용 프로그램과 운영 체제가 이러한 확장을 지원합니다. 다음은 몇 가지 알려진 파일 형식의 확장자입니다.
파일 이름 | 연장 |
---|---|
영상 | .jpg |
오디오 | .mp3 |
자바 아카이브 파일 | .항아리 |
자바 클래스 파일 | .수업 |
콘텐츠 유형 힌트
데이터베이스에서 파일을 검색하거나 다른 문서에 첨부 할 때마다 파일의 이름이나 확장자가 손실 될 수 있습니다. 이러한 경우 파일과 함께 제공되는 메타 데이터는 파일 확장자를 감지하는 데 사용됩니다.
매직 바이트
파일의 원시 바이트를 관찰하면 각 파일에 대한 고유 한 문자 패턴을 찾을 수 있습니다. 일부 파일에는 다음과 같은 특수 바이트 접두사가 있습니다.magic bytes 파일 유형을 식별하기 위해 특별히 만들어져 파일에 포함 된 것
예를 들어 Java 파일에서 CA FE BA BE (16 진수 형식)를, pdf 파일에서 % PDF (ASCII 형식)를 찾을 수 있습니다. Tika는이 정보를 사용하여 파일의 미디어 유형을 식별합니다.
문자 인코딩
일반 텍스트가있는 파일은 다양한 유형의 문자 인코딩을 사용하여 인코딩됩니다. 여기서 주된 과제는 파일에 사용 된 문자 인코딩 유형을 식별하는 것입니다. Tika는 다음과 같은 문자 인코딩 기술을 따릅니다.Bom markers 과 Byte Frequencies 일반 텍스트 콘텐츠에서 사용하는 인코딩 시스템을 식별합니다.
XML 루트 문자
XML 문서를 감지하기 위해 Tika는 xml 문서를 구문 분석하고 파일의 실제 미디어 유형을 찾을 수있는 루트 요소, 네임 스페이스 및 참조 된 스키마와 같은 정보를 추출합니다.
Facade 클래스를 사용한 유형 감지
그만큼 detect()파사드 클래스의 메소드는 문서 유형을 감지하는 데 사용됩니다. 이 메서드는 파일을 입력으로받습니다. 아래는 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);
}
}
위 코드를 TypeDetection.java로 저장하고 다음 명령을 사용하여 명령 프롬프트에서 실행하십시오.
javac TypeDetection.java
java TypeDetection
audio/mpeg