2010-07-19 14 views
5

मैं "फ़ोल्डर्स" में अपने फ़ोल्डर्स के नाम प्राप्त करने का प्रयास कर रहा हूं। मैं methodManager.list() विधि का उपयोग करके एक AssetManager के साथ फ़ाइलों के नाम प्राप्त कर सकते हैं। लेकिन समस्या यह है कि यह केवल फाइलों का नाम लौटाता है न कि फ़ोल्डर के नाम। इसलिए मैं सूचीफाइल() विधि का उपयोग करने की कोशिश कर रहा हूं लेकिन मैं संपत्ति निर्देशिका तक नहीं पहुंच सकता; मैं निम्नलिखित की कोशिश कर दिया है:संपत्ति निर्देशिका से फ़ोल्डर्स का नाम प्राप्त करें

File dir = new File ("file:///android_asset/"); 
File[] files= dir.listFiles(); 

लेकिन यह काम नहीं करता है :(... वहाँ एक रास्ता फ़ोल्डरों के नाम पाने के लिए संपत्ति निर्देशिका में निहित है

+0

इस लिंक को पढ़ें, यह जवाब है जिसे आप चाहते हैं ? – user3156262

उत्तर

2

यूआरएल "फ़ाइल?: /// android_asset/"किसी विशेष निर्देशिका को इंगित नहीं करता है, इसका उपयोग केवल संपत्तियों को संबोधित करने के लिए वेबव्यू द्वारा किया जाता है। संपत्ति केवल पढ़ने के लिए और संकलित समय पर परिभाषित होती है, इसलिए यह माना जाता है कि उनकी निर्देशिका संरचना प्रोग्रामर को ज्ञात है। यह असुविधाजनक है , लेकिन जिस तरह से यह डिजाइन किया गया है

+0

अरग! नहीं तुम गंभीर हो? क्या ऐसा करने का कोई तरीका नहीं है? (मैंने जावा प्रतिबिंब भी आजमाया है लेकिन यह केवल संपत्ति के लिए कच्चे फ़ोल्डर के लिए काम करता है)। भले ही यह जटिल है ...? – Nox

+0

मैं एक ऐसी स्क्रिप्ट बनाने का सुझाव दूंगा जो एक एक्सएमएल या परिसंपत्ति निर्देशिका की सामग्री का प्रतिनिधित्व करने वाली अन्य संरचना संकलित करने में उत्पन्न हो। रनटाइम में आपको ऐसा करने की ज़रूरत क्यों है? – ognian

+0

ठीक है, मेरा ऐप संपत्ति निर्देशिका से छवियों को प्रदर्शित करता है लेकिन वे संपत्ति में फ़ोल्डर्स के पदानुक्रम में हैं। मुझे लगता है कि मैं उस नाम में पदानुक्रम को इंगित करूंगा। एक फ़ोल्डर "फूल" के बजाय "फूल/गुलाब.जेपीजी" जैसे नाम के साथ और फिर पदानुक्रम खोजने के लिए नाम का उपयोग करें। – Nox

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