Mime Type aus Stream lesen

peez

Bekanntes Mitglied
Ich muss relativ zuverlässig den Mime-Type einer Datei, die in ein byte-array gelesen ist, rausbekommen.

Es gibt ja dieses Methode URLConnection.guessContentTypeFromStream(), sie scheitert aber leider schon bei bmp Dateien.

Was kennt ihr für Methoden, das rauszubekommen?
Evt mit diesen Magic Numbers?
 

peez

Bekanntes Mitglied
Nee das fällt raus ;) Wie gesagt brauche ich ne sichere Methode. Und vor allem für alle aktuellen Formate. Also Bilder, Dokumente, Audio, Videos.

Gibts keine brauchbaren Java Bordmittel? Das kann doch nicht sein... Oder weiß jemand irgendeine Art Tabelle o.ä. im Internet mit diesen Magic Numbers? Die könnte man ja nachbauen...

Hat hier jemand Erfahrungen mit den Libs, die man auf Sourceforge etc. bekommt?
 

Murray

Top Contributor
Eine 100% sichere Lösung wird es nicht geben - bei BMP sind die beiden genannten Bytes die Magic-Number; bei GIF ist das ähnlich - auch da würde eine Txet-Datei fälschlicherweise als GIF interpretier, wenn sie mit "GIF89a" (47 49 46 38 39 61) oder "GIF87a" (47 49 46 38 37 61) beginnt.
 

peez

Bekanntes Mitglied
Okay die Magic Number fällt dann raus, wenn die teilweise nur aus zwei Bytes besteht... Die Beispiele die ich heute mittag gefunden habe, hatten alle 5-6...

100% Sicherheit ist mir schon klar dass nicht geht aber es muss doch eine halbwegs sichere Methode geben, die übliche Dateitypen erkennt... Die Methoden von URLConnection oder javax.activation versprechen das ja aber wie gesagt erkennen die schon das erste Versuchs-BMP nicht, was sie für mich total unzuverlässig und damit unbrauchbar macht.

An die anderen hier - hat denn sonst keiner bisher seine Erfahrungen mit Mime-Types und deren Erkennung gemacht? Eine Fremd-Lib würde ich zur Not auch benutzen...
 

peez

Bekanntes Mitglied
Habe jetzt übrigens mime-util verwendet. Im Gegensatz zu JMimeMagic und co. ist hier die neueste Release ziemlich jung und die Dateien werden relativ zuverlässig erkannt.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Library für High Performance Mime Type Erkennung Allgemeine Java-Themen 8
S anderer Mime Type bei xml-Datei Allgemeine Java-Themen 2
M java: unexpected type Allgemeine Java-Themen 2
BinFox Type-Parameterverwirrung Allgemeine Java-Themen 7
B Type mismatch: cannot convert from Graph.Edge to ArrayList<Graph.Edge> Allgemeine Java-Themen 21
K Wildcard und class type Allgemeine Java-Themen 9
bueseb84 required a bean of type that could not be found. Allgemeine Java-Themen 2
N Generic Type einer Generischen Klasse während der Laufzeit bekommen Allgemeine Java-Themen 2
E javax.mail sene Type ändern Allgemeine Java-Themen 2
T JNA: Invalid sizeof type 4 Allgemeine Java-Themen 0
P List<Type> Konvertieren in List<List<Type>> Allgemeine Java-Themen 3
Tarrew Generics - Type erasure Allgemeine Java-Themen 5
S Welcher Schleifen type für eine Berechnung Allgemeine Java-Themen 7
D Type herausfinden Allgemeine Java-Themen 15
S Type mismatch: cannot convert from Object to float Allgemeine Java-Themen 3
V Wildcard aus Parameter in return type Allgemeine Java-Themen 2
P Default constructor cannot handle exception type Allgemeine Java-Themen 6
C Kompletter Pfad aus "input type=file" auslesen Allgemeine Java-Themen 3
J BufferedImage aus PNG Files haben keinen Type Allgemeine Java-Themen 4
G POI: Leere Zelle nimmt keinen Type an Allgemeine Java-Themen 8
S Type safety Warnings beim casten von Generics Allgemeine Java-Themen 6
M Type-Cast Allgemeine Java-Themen 3
B Warum return type Object ? Allgemeine Java-Themen 4
G Generics in Map. Type of value abhängig vom key Allgemeine Java-Themen 3
S Innerer Type einer generischen Collection herausfinden? Allgemeine Java-Themen 13
S Collection Type Allgemeine Java-Themen 8
zilti NetBeans 6.0: neuen File Type definieren Allgemeine Java-Themen 2
G Error: Hashtable Type safety: The method put(Object, Object) Allgemeine Java-Themen 6
A serial Version UID field of type long Allgemeine Java-Themen 5
G Enclosing Type Allgemeine Java-Themen 3
G [quote]the type HashMap is not generic; it cannot be paramet Allgemeine Java-Themen 4
C Generic Type ermitteln Allgemeine Java-Themen 3
padde479 The static method sleep(long) from the type Thread should. Allgemeine Java-Themen 2
H References to generic type Test.A<typ> should be param Allgemeine Java-Themen 5
byte Generic Type einer List zur Laufzeit rausfinden? Allgemeine Java-Themen 4
T Generics, Enumerations und Type-Casts Allgemeine Java-Themen 13
K The method clone() from the type Object is not visible. Allgemeine Java-Themen 9
C REG_BINARY Type in Windows Registry ausgeben ? Allgemeine Java-Themen 4
M Content-Type setzen und auslesen? Allgemeine Java-Themen 2
KonradN SonarLint: Resources should be closed bei Stream<T>? Allgemeine Java-Themen 6
S Umstellung von File auf Path - Probleme mit Stream Allgemeine Java-Themen 5
A verschachtelte for-Schleife in einen Stream umwandeln? Allgemeine Java-Themen 4
A Wie schreibe ich eine For-Schleife in ein Stream API um? Allgemeine Java-Themen 12
looparda Stream mit Sonderbehandlung des ersten Elements Allgemeine Java-Themen 17
R Java Stream: Ist es möglich, einen stream zusammenzufassen Allgemeine Java-Themen 6
S Mittelwert anhand eines Stream berechnen Allgemeine Java-Themen 5
H Stream in ArrayList umwandeln Allgemeine Java-Themen 2
M stream.Collectors Fehlermeldung Allgemeine Java-Themen 1
C TCP Server und BufferedReader Leerstring im Stream? Allgemeine Java-Themen 5
G Neues Objekt aus List<JsonObject> mit Stream Allgemeine Java-Themen 4
Y Liste in Stream Packen Allgemeine Java-Themen 1
N Java stream filtern. Allgemeine Java-Themen 19
H Collector Generics Problem (incl. Stream & Lambda) Allgemeine Java-Themen 4
N javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,1] Allgemeine Java-Themen 3
N [stream-api] Parameter pro Typ zählen Allgemeine Java-Themen 1
J Stream-basierter Cache Allgemeine Java-Themen 4
D IP-Cam live stream speichern Allgemeine Java-Themen 9
B BufferedWriter in InputStream oder Zeichen-Stream in Byte-Stream Allgemeine Java-Themen 5
D Klassen Zeit aus NMEA-Stream in SimpleDateFormat Allgemeine Java-Themen 17
J Stream-Murks! Allgemeine Java-Themen 18
T Problem mit gzip Stream und Ende der Datei Allgemeine Java-Themen 2
JAVATUX Java Programm mit ATI Stream Unterstützung Allgemeine Java-Themen 3
X Audio Internet-Stream Allgemeine Java-Themen 2
B Stream Verständnisproblem Allgemeine Java-Themen 2
C Bit Stream Klasse Allgemeine Java-Themen 9
dayaftereh Serializable und Object In/Out Stream Allgemeine Java-Themen 2
M PCL Stream lesen und schreiben Allgemeine Java-Themen 6
musiKk Stream zum Lesen von Dateien mit seek und peek Allgemeine Java-Themen 2
J Problem mit Scanner-Stream Allgemeine Java-Themen 2
O Stream unvollständig Allgemeine Java-Themen 3
0 Stream/Datei an VLC übergeben und abspielen Allgemeine Java-Themen 10
B getImage() vom Stream oder File Allgemeine Java-Themen 3
N Werte Von C++ nach Java über den Stream möglich? Allgemeine Java-Themen 8
S Stream ReadLine() Allgemeine Frage Allgemeine Java-Themen 5
S Stream ohne Referenz kopieren ? Allgemeine Java-Themen 4
D FileInputStream bzw. BufferedInput Stream Puffern Allgemeine Java-Themen 6
G Live-Stream einer WebCam importieren Allgemeine Java-Themen 3
T Mehrere Dateien byteweise durch stream schieben Allgemeine Java-Themen 9
T Stream encodierrn und decodieren mit JSpeex Allgemeine Java-Themen 2
R Stream Byte für Byte durchgehen Allgemeine Java-Themen 5
O Input stream geht net Allgemeine Java-Themen 2
N Speichern von binären Dateien (Zip-Archiv) per Stream? Allgemeine Java-Themen 6
T Bit-Stream Allgemeine Java-Themen 12
R Stream für alle Dateiarten Allgemeine Java-Themen 9
thE_29 API für transport stream Allgemeine Java-Themen 2
M Output Stream / Protokoll does not support output Allgemeine Java-Themen 2
D GetResourceAsStream - Stream closed exception Allgemeine Java-Themen 5
G Umwandlung in Stream Allgemeine Java-Themen 5
J Output Stream Allgemeine Java-Themen 4

Ähnliche Java Themen


Oben