TIKA - Belge Tipi Tespiti
MIME Standartları
Çok Amaçlı İnternet Posta Uzantıları (MIME) standartları, belge türlerini belirlemek için mevcut en iyi standartlardır. Bu standartların bilgisi, dahili etkileşimler sırasında tarayıcıya yardımcı olur.
Tarayıcı bir medya dosyasıyla karşılaştığında, içeriğini görüntülemek için onunla birlikte kullanılabilen uyumlu bir yazılımı seçer. Belirli bir medya dosyasını çalıştırmak için uygun herhangi bir uygulamaya sahip olmaması durumunda, kullanıcıya onun için uygun eklenti yazılımını almasını önerir.
Tika'da Tip Algılama
Tika, MIME'de sağlanan tüm İnternet medya belge türlerini destekler. Bir dosya Tika'dan her geçtiğinde, dosyayı ve belge türünü algılar. Ortam türlerini tespit etmek için Tika dahili olarak aşağıdaki mekanizmaları kullanır.
Dosya uzantıları
Dosya uzantılarını kontrol etmek, bir dosyanın biçimini tespit etmek için en basit ve en yaygın kullanılan yöntemdir. Birçok uygulama ve işletim sistemi bu uzantılar için destek sağlar. Aşağıda, bilinen birkaç dosya türünün uzantısı gösterilmektedir.
Dosya adı | Uzantı |
---|---|
görüntü | .jpg |
ses | .mp3 |
java arşiv dosyası | .jar |
java sınıf dosyası | .sınıf |
İçerik Türü İpuçları
Veritabanından bir dosya aldığınızda veya başka bir belgeye eklediğinizde, dosyanın adını veya uzantısını kaybedebilirsiniz. Bu gibi durumlarda, dosya ile birlikte sağlanan meta veriler, dosya uzantısını tespit etmek için kullanılır.
Sihirli Bayt
Bir dosyanın ham baytlarını inceleyerek, her dosya için bazı benzersiz karakter desenleri bulabilirsiniz. Bazı dosyaların özel bayt önekleri vardır.magic bytes dosya türünü belirlemek amacıyla özel olarak yapılmış ve bir dosyaya eklenmiş
Örneğin, bir java dosyasında CA FE BA BE (onaltılık format) ve bir pdf dosyasında% PDF (ASCII formatı) bulabilirsiniz. Tika, bu bilgiyi bir dosyanın ortam türünü belirlemek için kullanır.
Karakter Kodlamaları
Düz metin içeren dosyalar, farklı karakter kodlaması türleri kullanılarak kodlanır. Buradaki temel zorluk, dosyalarda kullanılan karakter kodlama türünü belirlemektir. Tika, aşağıdaki gibi karakter kodlama tekniklerini takip eder:Bom markers ve Byte Frequencies düz metin içeriği tarafından kullanılan kodlama sistemini tanımlamak için.
XML Kök Karakterleri
XML belgelerini algılamak için Tika, xml belgelerini ayrıştırır ve dosyaların gerçek ortam türünün bulunabileceği kök öğeler, ad alanları ve başvurulan şemalar gibi bilgileri çıkarır.
Cephe Sınıfı kullanarak Tip Algılama
detect()Doküman türünü tespit etmek için cephe sınıfı yöntemi kullanılır. Bu yöntem, bir dosyayı girdi olarak kabul eder. Aşağıda gösterilen, Tika cephe sınıfı ile belge tipi tespiti için örnek bir programdır.
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);
}
}
Yukarıdaki kodu TypeDetection.java olarak kaydedin ve aşağıdaki komutları kullanarak komut isteminden çalıştırın -
javac TypeDetection.java
java TypeDetection
audio/mpeg