TIKA - Rilevamento del tipo di documento
Standard MIME
Gli standard MIME (Multipurpose Internet Mail Extensions) sono i migliori standard disponibili per l'identificazione dei tipi di documento. La conoscenza di questi standard aiuta il browser durante le interazioni interne.
Ogni volta che il browser incontra un file multimediale, sceglie un software compatibile disponibile con esso per visualizzarne il contenuto. Nel caso in cui non disponga di un'applicazione adatta per eseguire un particolare file multimediale, si consiglia all'utente di procurarsi il software plug-in adatto.
Digitare Detection in Tika
Tika supporta tutti i tipi di documenti multimediali Internet forniti in MIME. Ogni volta che un file viene passato attraverso Tika, rileva il file e il suo tipo di documento. Per rilevare i tipi di media, Tika utilizza internamente i seguenti meccanismi.
Estensioni di file
Il controllo delle estensioni dei file è il metodo più semplice e più utilizzato per rilevare il formato di un file. Molte applicazioni e sistemi operativi forniscono supporto per queste estensioni. Di seguito viene mostrata l'estensione di alcuni tipi di file conosciuti.
Nome del file | Estensione |
---|---|
Immagine | .jpg |
Audio | .mp3 |
file di archivio java | .vaso |
file di classe java | .classe |
Suggerimenti sul tipo di contenuto
Ogni volta che si recupera un file da un database o lo si allega a un altro documento, si potrebbe perdere il nome o l'estensione del file. In questi casi, i metadati forniti con il file vengono utilizzati per rilevare l'estensione del file.
Magic Byte
Osservando i byte grezzi di un file, puoi trovare alcuni modelli di caratteri univoci per ogni file. Alcuni file hanno speciali prefissi di byte chiamatimagic bytes appositamente realizzati e inclusi in un file allo scopo di identificare il tipo di file
Ad esempio, puoi trovare CA FE BA BE (formato esadecimale) in un file java e% PDF (formato ASCII) in un file pdf. Tika utilizza queste informazioni per identificare il tipo di supporto di un file.
Codifiche dei caratteri
I file con testo normale vengono codificati utilizzando diversi tipi di codifica dei caratteri. La sfida principale qui è identificare il tipo di codifica dei caratteri utilizzata nei file. Tika segue tecniche di codifica dei caratteri comeBom markers e Byte Frequencies per identificare il sistema di codifica utilizzato dal contenuto di testo normale.
Caratteri radice XML
Per rilevare i documenti XML, Tika analizza i documenti xml ed estrae le informazioni come elementi radice, spazi dei nomi e schemi di riferimento da cui è possibile trovare il vero tipo di supporto dei file.
Tipo di rilevamento utilizzando Facade Class
Il detect()metodo della classe di facciata viene utilizzato per rilevare il tipo di documento. Questo metodo accetta un file come input. Di seguito è mostrato un programma di esempio per il rilevamento del tipo di documento con la classe di facciata 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);
}
}
Salva il codice sopra come TypeDetection.java ed eseguilo dal prompt dei comandi utilizzando i seguenti comandi:
javac TypeDetection.java
java TypeDetection
audio/mpeg