2011-10-08 17 views
9

पर एसडी कार्ड पर फ़ाइल मौजूद है या नहीं, मैं यह जांचना चाहता हूं कि एसडी कार्ड पर कोई टेक्स्ट फ़ाइल मौजूद है या नहीं। फ़ाइल का नाम mytextfile.txt है। नीचे कोड है:जांचें कि एंड्रॉइड

FileOutputStream fos = openFileOutput("sdcard/mytextfile.txt", MODE_WORLD_WRITEABLE); 

मैं यह कैसे जांच सकता हूं कि यह फ़ाइल मौजूद है या नहीं?

उत्तर

51

इस चाल करना चाहिए, मैं सिफारिश API कॉल getExternalCacheDir() के लिए कठिन कोडित SDcard संदर्भ बदल दिया है:

File file = new File(getExternalCacheDir(), "mytextfile.txt"); 
if (file.exists()) { 
    //Do action 
} 
+0

धन्यवाद बहुत बहुत – androiddevs78

+4

कृपया ध्यान दें नहीं है की तरह() हो सकता है कि आप क्या चाहते हैं। यदि आप एसडी पर एक निर्देशिका चाहते हैं जो ऐप अनइंस्टॉल करने के बाद साफ़ हो जाएगा (उदा। 'कैश' डीआईआर), getExternalCacheDir() का उपयोग करें। लेकिन यदि आप एसडी कार्ड के शीर्ष स्तर के डीआईआर चाहते हैं, तो आप बेहतर उपयोग कर सकते हैं: फ़ाइल sdDir = नई फ़ाइल (Environment.getExternalStorageDirectory()। GetPath()); – DEzra

0

आपको एक फ़ाइल बनाना है, और इसे आवश्यक फ़ाइल के रूप में सेट करना है, और जांचें कि यह मौजूद है या नहीं।

String FILENAME="mytextfile.txt"; 
File fileToCheck = new File(getExternalCacheDirectory(), FILENAME); 
if (fileToCheck.exists()) { 
FileOutputStream fos = openFileOutput("sdcard/mytextfile.txt", MODE_WORLD_WRITEABLE); 
} 

मज़ा लें!

+0

एसडी कार्ड के हार्ड कोडेड संदर्भ का उपयोग न करना सबसे अच्छा है, बाहरी संग्रहण तक पहुंचने के बेहतर तरीके के लिए मेरा पहला उत्तर देखें। उपरोक्त कोड में – Ljdawson

0

FileOutputStream कन्स्ट्रक्टर FileNotFound अपवाद फेंक देगा यदि निर्दिष्ट फ़ाइल मौजूद नहीं है। अधिक जानकारी के लिए Oracle documentation देखें।

इसके अलावा, सुनिश्चित करें कि आपको access the SD card पर अनुमति है। getExternalCacheDir:

0

जाँच करें कि बूलियन साथ शर्त

File file = new File(path+filename); 
if (file.exists() == true) 
{ 
//Do something 
} 
+0

'== सत्य' अनावश्यक है। आप इसके बजाय 'if (file.exists()) 'का उपयोग कर सकते हैं। – Slander

2

* का उपयोग करते हुए इस आप जाँच कर सकते हैं फ़ाइल वर्तमान या में sdcard *

File file = new File(sdcardpath+ "/" + filename); 
if (file.exists()) 
{ 

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