2013-08-26 12 views
5

के तहत फ़ाइलों के सभी पूर्ण पथ प्राप्त करें मुझे किसी दिए गए निर्देशिका के तहत फ़ाइल नामों के सभी पूर्ण पथ स्मृति में रखने की आवश्यकता है।किसी दिए गए फ़ोल्डर

myDirectory.list() - केवल फ़ाइल नामों के स्ट्रिंग [] को पुनर्प्राप्त करता है (उनके पूर्ण पथ के बिना)।

फ़ाइल ऑब्जेक्ट का उपयोग नहीं करना चाहते क्योंकि यह अधिक स्मृति का उपभोग करता है।

अंतिम बात - मैं अपाचे संग्रह आदि का उपयोग कर सकता हूं (लेकिन इसके लिए कुछ भी उपयोगी नहीं मिला)।

उत्तर

0

myDirectory उन सभी फ़ाइलों की निर्देशिका रखता है? यदि ऐसा है, तो myDirectory में पथ को गठबंधन करें myDirectory.list() रिटर्न में प्रत्येक कक्ष के साथ।

+0

धन्यवाद। आपका मतलब है - MyDirectory.list() पर अन्य पुनरावृत्ति करें और इसे एक नई स्ट्रिंग [] में संयोजित करें? क्या बॉक्स से बाहर कुछ साफ है? – user1025852

+0

myDirectory किस प्रकार का है? –

+0

फ़ाइल ऑब्जेक्ट ..... – user1025852

8
String directory = <your_directory>; 
File[] files = new File(directory).listFiles(); 
for(File file : files){ 
    if(file.isFile()){ 
    System.out.println(file.getAbsolutePath()); 
    } 
} 

यह काम करता है, और मैं कहता हूँ कि मैं उलझन में हूँ, जब आप कहते हैं कि तुम नहीं करना चाहते उपयोग फ़ाइल वस्तुओं करना होगा, लेकिन जो कुछ भी, काम करता है मुझे लगता है कि।

+0

धन्यवाद इसकी सराहना करते हैं। फ़ाइल ऑब्जेक्ट का उपयोग करना अधिक मेमोरी महंगा है, फिर बस पथ की स्ट्रिंग को पकड़ना। केस मैं 100K फाइलों के साथ फ़ोल्डर को संभाल दूंगा, मुझे स्मृति से बाहर डर है। इसलिए - मैं एक फ़ोल्डर – user1025852

+0

फ़ोल्डर में सभी पूर्ण फाइल पथों के स्ट्रिंग [] प्राप्त करने के लिए एक साफ समाधान की तलाश में हूं यदि आप पहले से ही रूट पथ जानते हैं और आपकी फाइलों के सापेक्ष पथ और आप उन स्ट्रिंग्स को संयोजित करने के लिए एक और पुनरावृत्ति करने के इच्छुक नहीं हैं, और आप मेमोरी से बाहर होने से डरने के कारण फ़ाइल ऑब्जेक्ट्स का उपयोग करने के इच्छुक भी नहीं हैं, तो आपको शायद अपने सरणी को छोटे सरणी में तोड़ना चाहिए और दिए गए चरणों का पालन करके उन्हें अलग से संसाधित करें। – victorantunes

+0

धन्यवाद, इसकी सराहना करें – user1025852

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