Почему File.probeContentType возвращает null
Я использую java se7 для mac, предварительный просмотр оракула.
Моя проблема в том, что "Files.probeContentType" возвращает null... возможно ли, что это связано с ранним статусом se7 для mac?
Мой код:
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);
}
имя файла:
"/Пользователи/admin/Desktop/temp/q12/formulare/Bildschirmfoto 2012-09-11 um 17.57.59.png"
и в режиме отладки в eclipse, если я нахожу выше Файл "file path = Unis-path (id: 145)" красный
Ответы
Ответ 1
Я снова сообщил об ошибке для оракула, надеясь, что они вернут решение jdk8 (у меня нет большой надежды, но вы никогда не знаете).
Тем временем вы можете использовать мой собственный backport FileTypeDetector, доступный в https://github.com/jeantil/jdk7-mimeutils пакеты проекта maven к банке, которую можно добавить на ваш путь к классу, чтобы включить обнаружение типа mime. Я также предоставляю файл mime.types для установки в вашу домашнюю папку, чтобы обнаружение работало правильно. Я извлек файл mime.types из некоторой версии apache, так что он довольно полный.
Ответ 2
Я обнаружил, что FileTypeDetector неисправен в OS X: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7133484
По-видимому, это будет исправлено в Java 8.