2012-09-13 12 views
15

मैक, ऑरैक पूर्वावलोकन पर जावा से 7 का उपयोग कर रहा हूं।फ़ाइलें.प्रोबकंटेंट टाइप वापस शून्य

मेरी समस्या यह है कि "Files.probeContentType" शून्य लौटाता है ... क्या यह संभव है कि यह मैक के लिए se7 की प्रारंभिक स्थिति के कारण हो? मेरे कोड:

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

फ़ाइल का नाम है:

"/ उपयोगकर्ताओं/व्यवस्थापक/डेस्कटॉप/अस्थायी/Q12/formulare/Bildschirmfoto 2012-09-11 उम 17.57.59.png"

और ग्रहण में डिबग मोड में अगर मैं फ़ाइल के ऊपर "फ़ाइल पथ = Unis-पथ (आईडी: 145)" मंडराना लाल है

+0

एक [वैकल्पिक दृष्टिकोण यहां पाया जा सकता है] (http://stackoverflow.com/a/19712111/26510) –

उत्तर

9

मैंने ऑर्डल को फिर से बग की सूचना दी है, उम्मीद है कि वे jdk8 समाधान का समर्थन करेंगे (मुझे बहुत उम्मीद नहीं है लेकिन आप कभी नहीं जानते)।

इस बीच आप https://github.com/jeantil/jdk7-mimeutils पर मैवेन प्रोजेक्ट पैकेज को एक जार में उपलब्ध फ़ाइल टाइप टाइपर के अपने बैकपोर्ट का उपयोग कर सकते हैं जिसे माइम टाइप डिटेक्शन को सक्षम करने के लिए आपके क्लासपाथ में जोड़ा जा सकता है। मैं सही ढंग से काम करने के लिए अपने घर फ़ोल्डर में लगाने के लिए एक mime.types फ़ाइल भी प्रदान करता हूं। मैंने apache के कुछ संस्करण से mime.types फ़ाइल निकाली है, इसलिए यह बहुत पूर्ण है।

+0

क्या उन्होंने प्रतिक्रिया व्यक्त की? –

+0

नहीं और मेरी बग रिपोर्ट ने इसे कभी नहीं बनाया :(मेरे ब्लॉग में कुछ बदलाव हुए: लिंक अब http://blog.byjean.eu/java/2013/08/22/making-jdk7-nio-filetypedetection-work -ऑन-मैक-ओएसएक्स.html – Jean

+1

2015 - ओएस एल कप्तान और अभी भी छोटी गाड़ी! – crazyGuy

2

मैंने पाया कि FileTypeDetector ओएस एक्स पर गाड़ी है: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7133484

स्पष्ट रूप से यह जावा 8 में तय किया जाएगा।

+0

ऐसा लगता है कि यह अभी भी जुलाई 2016 तक एक खुली बग है। Https://github.com/pawandubey/ग्रिफिन/अंक/38 अगर मैं गलत हूं तो मुझे सही करें। – svk

संबंधित मुद्दे