2012-09-13 26 views
15

Ich benutze Java Se7 auf Mac, die Oracle-Vorschau.Warum gibt Files.probeContentType Null zurück

Mein Problem ist, dass "Files.probeContentType" null zurückgibt ... ist es möglich, dass es wegen des frühen Status von Se7 für Mac? Mein Code:

if(directory == null) return; 
String content = null; 
try { 
    content = Files.probeContentType(directory.toPath()); 
} catch (IOException e) { 
    JOptionPane.showMessageDialog(main, e.toString()); 
    return; 
} 
if(content == null) 
{ 
    return; 
} 
else if(content.contains("image")) 
{ 
    main.pctviewer.setImage(directory); 
} 

der Name der Datei ist:

"/ Users/admin/Desktop/temp/q12/formulare/Bildschirmfoto 2012-09-11 um 17.57.59.png"

und im Debug-Modus in eclipse, wenn ich über Datei "Dateipfad = Unis-Pfad (ID: 145)" schweben ist rot

+0

ein [alternative Ansatz kann hier gefunden werden] (http://StackOverflow.com/A/19712111/26510) –

Antwort

9

Ich habe den Fehler erneut an Orakel gemeldet, in der Hoffnung, dass sie die jdk8-Lösung rückportieren werden (ich habe nicht viel Hoffnung, aber Sie wissen nie).

In der Zwischenzeit können Sie meinen eigenen Backport des FileTypeDetector unter https://github.com/jeantil/jdk7-mimeutils die Maven-Projektpakete zu einem jar verwenden, das zu Ihrem Klassenpfad hinzugefügt werden kann, um Mime-Typ-Erkennung zu ermöglichen. Ich stelle auch eine mime.types-Datei zur Verfügung, die Sie in Ihren Home-Ordner einfügen können, damit die Erkennung korrekt funktioniert. Ich habe die mime.types-Datei aus einer Version von Apache extrahiert, so dass sie ziemlich vollständig ist.

+0

haben sie reagiert? –

+0

nein und mein Fehlerbericht hat es nie geschafft :(mein Blog hatte ein paar Änderungen: Der Link ist jetzt http://blog.byjean.eu/java/2013/08/22/making-jdk7-nio-filetypedetection-work -on-mac-osx.html – Jean

+1

2015 - OS El Captain und immer noch fehlerhaft! – crazyGuy

2

fand ich, dass die FileTypeDetector Buggy auf OS X ist: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7133484

Offensichtlich wird dies in Java 8 behoben.

+0

Es scheint, dass dies noch ein offener Fehler ist ab Juli 2016. https://github.com/pawandubey/griffin/issues/38 Korrigieren Sie mich, wenn ich falsch liege. – svk

Verwandte Themen