फ़ाइल f = नया फ़ाइल ("सी: /"); फाइल फेल [] = f.listFiles (); जब मैं इसका उपयोग करता हूं तो यह सभी सिस्टम फाइल और छिपी हुई फ़ाइलों को सूचीबद्ध करता है।
और इस कारण नल सूचक अपवाद जब मैं इसका इस्तेमाल करता हूं इस तरह से jTree में दिखाने के लिए: सार्वजनिक शून्य getList (DefaultMutableTreeNode नोड, फ़ाइल एफ) {if (f.isDirectory ()) {DefaultMutableTreeNode child = new DefaultMutableTreeNode (f); node.add (बच्चे); फाइल फेल [] = f.listFiles (); के लिए (इंट I = 0; i & lt; fList.length; i ++) मिल सूची (बच्चा, fList [i]); }} मुझे क्या करना चाहिए कि यह NullPointerException नहीं देता और jTree में केवल गैर छिपी और गैर सिस्टम फ़ाइलों को दिखाएं?
छिपी हुई फ़ाइलों के लिए ऐसा करें:
फ़ाइल रूट = नया फ़ाइल (yourDirectory); फ़ाइल [] फ़ाइलें = root.listFiles (नया FileFilter () {@ ओवरराइड पब्लिक बूलियन स्वीकार (फ़ाइल फ़ाइल) {वापसी! File.isHidden ();}}); यह छिपी हुई फ़ाइलें वापस नहीं करेगा
सिस्टम फ़ाइलों के लिए, मुझे विश्वास है कि यह एक विंडोज अवधारणा है और इसलिए फ़ाइल इंटरफ़ेस द्वारा समर्थित नहीं किया जा सकता जो सिस्टम को स्वतंत्र होने की कोशिश करता है आप कमांड लाइन के आदेशों का उपयोग कर सकते हैं, अगर वे मौजूद हैं या रीमेसन के जवाब में उसका क्या उपयोग करें।
संभवत:
फ़ाइल रूट = नया फ़ाइल ("सी: \\"); फ़ाइल [] फ़ाइलें = root.listFiles (नया फ़ाइलफ़िल्टर () {@ ओवरराइड सार्वजनिक बुलियन स्वीकार (फ़ाइल फ़ाइल) {पथ पथ = पथ.जेट (file.getAbsolutePath ()); DosFileAttributes dfa; try {dfa = Files.readAttributes (पथ , डोजफ़ाइल गुण। वर्ग);} पकड़ (IOException ई) {// बुरा अभ्यास वापसी झूठी;} वापसी (! Dfa.isHidden () & amp;; dfa.is सिस्टम ());}});
No comments:
Post a Comment