2012-09-13 42 views
15

tôi đang sử dụng java se7 trên mac, bản xem trước oracle.tại sao tệp Files.probeContentType trả lại giá trị rỗng

Vấn đề của tôi là "Files.probeContentType" trả về giá trị rỗng ... có thể là do trạng thái ban đầu của se7 cho mac? Mã của tôi:

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); 
} 

tên của tập tin là:

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

và trong chế độ gỡ lỗi trong nhật thực nếu tôi lơ lửng trên file "đường dẫn file = Unis-path (id: 145)" là đỏ

+0

một [phương pháp thay thế có thể tìm thấy tại đây] (http://stackoverflow.com/a/19712111/26510) –

Trả lời

9

Tôi đã báo cáo lỗi cho oracle một lần nữa, hy vọng họ sẽ backport giải pháp jdk8 (Tôi không có nhiều hy vọng nhưng bạn không bao giờ biết).

Trong thời gian chờ đợi, bạn có thể sử dụng backport của riêng mình của FileTypeDetector có sẵn tại https://github.com/jeantil/jdk7-mimeutils gói dự án maven vào một cái bình có thể được thêm vào đường dẫn lớp của bạn để bật phát hiện loại mime. Tôi cũng cung cấp một tệp mime.types để đưa vào thư mục chính của bạn để phát hiện hoạt động chính xác. Tôi trích xuất các tập tin mime.types từ một số phiên bản của apache vì vậy nó khá đầy đủ.

+0

họ có phản ứng không? –

+0

nope và báo cáo lỗi của tôi không bao giờ thực hiện nó thông qua: (blog của tôi đã có một vài thay đổi: liên kết bây giờ là http://blog.byjean.eu/java/2013/08/22/making-jdk7-nio-filetypedetection-work -on-mac-osx.html – Jean

+1

2015 - Hệ điều hành El Captain và vẫn còn lỗi! – crazyGuy

2

tôi thấy rằng các FileTypeDetector là lỗi trên OS X: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7133484

Rõ ràng điều này sẽ được sửa trong Java 8.

+0

Dường như đây vẫn là lỗi mở vào tháng 7 năm 2016. https://github.com/pawandubey/griffin/issues/38 Đúng nếu tôi sai. – svk

Các vấn đề liên quan