Java get Dateityp von Inhalt mit Mimeutil funktioniert nicht wie erwartet
In meinem folgenden Code:
MimeUtil.registerMimeDetector("eu.medsea.mimeutil.detector.MagicMimeMimeDetector");
File f = new File ("c:\\temp\\mime\\java.exe");
Collection<?> mimeTypes = MimeUtil.getMimeTypes("c:\\temp\\mime\\java.exe");
MimeType m = mimeTypes.toArray(new MimeType[mimeTypes.size()])[0];
System.out.println(m);
Die Ausgabe ist immer application / octet-stream, unabhängig davon, welcher Dateityp ausgewählt wurde, z. B. csv, xls, exe usw.
Aber laut folgender Seite:
http://www.rgagnon.com/javadetails/java-0487.html
es sollte wie ms-word oder ms-excel usw. angezeigt werden
Wie mache ich das? Ich möchte nur den Dateityp aus dem Dateiinhalt abrufen (nicht mit einer Dateierweiterung, die nicht sehr zuverlässig ist). Ich las über andere Optionen wie tika, das zu viele Dateien erfordert (wie 20), was zu viel für diesen einen Zweck ist, und JMimeMagic, das Apache-oro erfordert, das ein totes Projekt ist, daher mag ich die Idee auch nicht. Alle anderen Lösungen scheinen auf Dateierweiterungen zu beruhen, die, wie oben erwähnt, nicht zuverlässig zu sein scheinen.
Vielen Dank