TIKA - Phát hiện loại tài liệu

Tiêu chuẩn MIME

Các tiêu chuẩn Tiện ích mở rộng Thư Internet Đa năng (MIME) là tiêu chuẩn tốt nhất hiện có để xác định các loại tài liệu. Kiến thức về các tiêu chuẩn này giúp ích cho trình duyệt trong quá trình tương tác nội bộ.

Bất cứ khi nào trình duyệt gặp một tệp phương tiện, trình duyệt sẽ chọn một phần mềm tương thích có sẵn để hiển thị nội dung của nó. Trong trường hợp nó không có bất kỳ ứng dụng phù hợp nào để chạy một tập tin media cụ thể, nó sẽ khuyến nghị người dùng tải phần mềm plugin phù hợp cho nó.

Gõ phát hiện trong Tika

Tika hỗ trợ tất cả các loại tài liệu phương tiện Internet được cung cấp trong MIME. Bất cứ khi nào một tệp được chuyển qua Tika, nó sẽ phát hiện tệp và loại tài liệu của nó. Để phát hiện các loại phương tiện, nội bộ Tika sử dụng các cơ chế sau.

Phần mở rộng tệp

Kiểm tra phần mở rộng tệp là phương pháp đơn giản nhất và được sử dụng rộng rãi nhất để phát hiện định dạng của tệp. Nhiều ứng dụng và hệ điều hành cung cấp hỗ trợ cho các phần mở rộng này. Dưới đây là phần mở rộng của một số loại tệp đã biết.

Tên tệp Mở rộng
hình ảnh .jpg
âm thanh .mp3
tệp lưu trữ java .jar
tệp lớp java .lớp học

Gợi ý loại nội dung

Bất cứ khi nào bạn truy xuất một tệp từ cơ sở dữ liệu hoặc đính kèm nó vào tài liệu khác, bạn có thể mất tên hoặc phần mở rộng của tệp. Trong những trường hợp như vậy, siêu dữ liệu được cung cấp cùng với tệp được sử dụng để phát hiện phần mở rộng của tệp.

Magic Byte

Quan sát các byte thô của tệp, bạn có thể tìm thấy một số mẫu ký tự duy nhất cho mỗi tệp. Một số tệp có tiền tố byte đặc biệt được gọi làmagic bytes được tạo đặc biệt và bao gồm trong tệp nhằm mục đích xác định loại tệp

Ví dụ: bạn có thể tìm thấy CA FE BA BE (định dạng thập lục phân) trong tệp java và% PDF (định dạng ASCII) trong tệp pdf. Tika sử dụng thông tin này để xác định loại phương tiện của tệp.

Mã hóa ký tự

Các tệp có văn bản thuần túy được mã hóa bằng các kiểu mã hóa ký tự khác nhau. Thách thức chính ở đây là xác định kiểu mã hóa ký tự được sử dụng trong các tệp. Tika tuân theo các kỹ thuật mã hóa ký tự nhưBom markersByte Frequencies để xác định hệ thống mã hóa được sử dụng bởi nội dung văn bản thuần túy.

Ký tự gốc XML

Để phát hiện tài liệu XML, Tika phân tích cú pháp các tài liệu xml và trích xuất thông tin như phần tử gốc, không gian tên và lược đồ được tham chiếu từ nơi có thể tìm thấy loại phương tiện thực của tệp.

Loại phát hiện bằng cách sử dụng Lớp mặt tiền

Các detect()phương thức của lớp mặt tiền được sử dụng để phát hiện kiểu tài liệu. Phương thức này chấp nhận một tệp làm đầu vào. Dưới đây là một chương trình ví dụ để phát hiện kiểu tài liệu với lớp mặt tiền 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);
   }
}

Lưu đoạn mã trên dưới dạng TypeDetection.java và chạy nó từ dấu nhắc lệnh bằng các lệnh sau:

javac TypeDetection.java
java TypeDetection 

audio/mpeg