Webmaster Forum Logo Part 1 Webmaster Forum Logo Part 2
Webmaster Forum Logo Part 3
     
 
  :: Anmeldung

Benutzername:

Registrierung...

Passwort:

Passwort vergessen?

angemeldet bleiben


  
  :: Umfrage
Welche sozialen Netzwerke benutzt du regelmäßig?

 Facebook
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 73%
 keines
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 22%
 Google+
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 19%
 Twitter
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 11%
 Xing
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 schülerVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 meinVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 studiVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 MySpace
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%
 LinkedIn
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%

 ges. 393 Stimmen
 
  :: Buttons

Valid XHTML 1.0 Transitional

elchrz

Foren As

Dabei seit: 06.10.2010

Beiträge: 99

 

1 Zum Seitenanfang

Mittwoch, 6. Oktober 2010, 17:17

Java, mimetype einer Datei?

Hallo,
kennt jemand ein gutes Java Tool, mit dem man den Mimetype einer Datei erkennen kann?
Ich habe es mit javax.activation versucht, aber das funktioniert recht unzuverlässig. Wichtig wäre mir vor allem, dass es recht schnell geht, man also bei 100 zu prüfenden Dateien nicht ne halbe Minute warten muß.
Dank euch für jeden Vorschlag.
 

nocturne

Kaiser

Dabei seit: 06.01.2005

Beiträge: 1 167

 

2 Zum Seitenanfang

Mittwoch, 6. Oktober 2010, 22:23

Die meisten Dateien haben in den ersten zwei bis 4 bytes eine art Fingerabdruck.
Zip dateien haben zum beispiel 4 Bytes signaturen.
00000010
00000001
01001011
01010000

Das ist auf 99% aller Dateien anwendbar.
http://lmgtfy.com/?q=zip+header+signature
 

elchrz

Foren As

Dabei seit: 06.10.2010

Beiträge: 99

 

3 Zum Seitenanfang

Mittwoch, 6. Oktober 2010, 23:23

[..] ersten zwei bis 4 bytes [..]
darin besteht ja schon mal das Problem, man müßte also für jedes Format eine eigene Abfrage schreiben.
Mir ging es vor allem darum, dass ich nicht jedes mögliche Format selbst implementieren muß, sondern auf eine Bibliothek zugreifen kann.
Wie gesagt, javax.activation bietet so etwas, allerdings manchmal unzuverläßlich. Deshalb bin ich auf der Suche nach einer Alternative.
 

Ego

Routinier

Dabei seit: 22.07.2009

Beiträge: 322

 

4 Zum Seitenanfang

Donnerstag, 7. Oktober 2010, 14:33

Hallo,

der Absatz Magische_Zahlen_zur_Kennzeichnung_von_Dateitypen aus Wikipedia schlägt in die gleiche Kerbe wie der Beitrag von Nocturne. Außer das die Magische Zahl auch mal über 100Bytes haben kann.

Und hier noch ein Ansatz (keine Fertige Bibliothek):
Unter Linux gibt es das Programm File das den MIME-Typ einer Datei erkennen kann, soweit ich weis arbeitet es mit diversen Dateien in denen die Definitionen dazu drinnen stehen. Vielleicht kannst du das ja für deine Arbeit nutzen.

weiterführende Links dazu:
manpage - file command's magic number file
file signatures table

Gruß
Ego
 

nocturne

Kaiser

Dabei seit: 06.01.2005

Beiträge: 1 167

 

5 Zum Seitenanfang

Donnerstag, 14. Oktober 2010, 09:32

[..] ersten zwei bis 4 bytes [..]
darin besteht ja schon mal das Problem, man müßte also für jedes Format eine eigene Abfrage schreiben.
Mir ging es vor allem darum, dass ich nicht jedes mögliche Format selbst implementieren muß, sondern auf eine Bibliothek zugreifen kann.
Wie gesagt, javax.activation bietet so etwas, allerdings manchmal unzuverläßlich. Deshalb bin ich auf der Suche nach einer Alternative.
Warum verwirfst du das so schnell?
Wie wäre es wenn du eine neue Tabelle erstellst mit zwei Feldern, signatur und mime-typ.
Dann kommst du mit einfachem Left-Join den mime-type ranziehen.
Schneller, Einfacher, stabiler gehts nicht.

Geh mal googlen. ich wette irgendjemand hat schon so ne tabelle erstellt.
 

elchrz

Foren As

Dabei seit: 06.10.2010

Beiträge: 99

 

6 Zum Seitenanfang

Donnerstag, 14. Oktober 2010, 13:49

Zitat

Wie wäre es wenn du eine neue Tabelle erstellst mit zwei Feldern, signatur und mime-typ.

Klar geht das. Aber genau das wollte ich ja vermeiden. Wie man an dem link von Ego sieht, ist das ja nicht trivial, immerhin gibt haben die Signaturen unterschiedliche Längen und sind bisweilen Teilmengen von einander. Wenn man das also selbst realisiert, hat man schnell eine umfangreiche Bibliothek am Hals.
Außerdem bezweifle ich, dass eine solche Eigenbau-Lösung auf Basis der Signaturen zuverlässiger arbeiten würde als die in javax.activation schon enthaltene.

Momentan verwende ich die erwähnte Funktion aus javax.activation. Weitere Vorschläge für Alternativen sind natürlich gern gesehen.
 

nocturne

Kaiser

Dabei seit: 06.01.2005

Beiträge: 1 167

 

7 Zum Seitenanfang

Donnerstag, 14. Oktober 2010, 13:55

Hier steig ich aus. :D
 

Ähnliche Themen