2012-01-12 9 views
9

में निर्देशिका से फ़ाइल नाम प्राप्त करें मैं एंड्रॉइड में एक ऐप लिखने की कोशिश कर रहा हूं जो एसडी कार्ड पर विशिष्ट एक्सटेंशन के साथ मिली फाइलों के फाइलनामों के साथ एक स्पिनर को पॉप्युलेट करेगा। मैं इसे सही फाइलों के साथ स्पिनर को पॉप्युलेट करने के लिए अब तक प्राप्त कर सकता हूं, लेकिन पथ भी दिखाया गया है। क्या कोई मुझे बता सकता है कि एंड्रॉइड में एसडी कार्ड पर निर्देशिका में केवल एक विशिष्ट फ़ाइल के फ़ाइल नाम को कैसे प्राप्त किया जाए?एंड्रॉइड

पहले स्लैश खोजने, तो उस बिंदु पर स्ट्रिंग काटने और फ़ाइल नाम के रूप में स्ट्रिंग की सबसे दायां भाग लेने के आप

उत्तर

23
File sdCardRoot = Environment.getExternalStorageDirectory(); 
File yourDir = new File(sdCardRoot, "path"); 
for (File f : yourDir.listFiles()) { 
    if (f.isFile()) 
     String name = f.getName(); 
     // Do your stuff 
} 

अधिक जानकारी के लिए पर Environment पेज देखें।

+0

क्या जेएनआई में ऐसा करने का कोई तरीका है? –

+0

यह कोड एनपीई दे रहा है। नीचे मेरा जवाब देखें। यह मेरे लिए काम किया। अच्छा जवाब के लिए बीटीडब्ल्यू प्लस 1! –

0

आप उलटे क्रम (दाएं से बाएं) में स्ट्रिंग संसाधित कर सकते हैं धन्यवाद,?

0

उपयोग विधि getName() फ़ाइल वस्तु की:

file.getName(); 
2

कोड

File sdCard = Environment.getExternalStorageDirectory(); 
File dir = new File(sdCard, "yourpath"); 
for (File f : dir.listFiles()) { 
    if (f.isFile()) 
     String name = f.getName(); 
     // do whatever you want with filename 
} 
0
File filePath= new File(File Address); 
File[] fileList = filePath.listFiles(); 
String name = fileList [0].getName().toString(); 
+0

स्पष्टीकरण के बिना बहुत उपयोगी नहीं है और विशिष्ट प्रश्न (नाम/एक्सटेंशन द्वारा फ़िल्टर) को संबोधित नहीं करता है –

+0

ठीक है, आपके लिए धन्यवाद –

0

जवाब से ऊपर मेरे मामले में नल पॉइंटर एक्सेप्शन दे रहे हैं नीचे की कोशिश। निम्नलिखित कोड मेरे लिए काम किया:

File yourDir = new File(Environment.getExternalStorageDirectory().getPath() + "/WhatsApp/Databases"); 
    for (File f : yourDir.listFiles()) { 
     if (f.isFile()) 
      name = f.getName(); 
     // Do your stuff 
}