मैं निम्नलिखित कोड का उपयोग की फ़ाइल बना रहे:File.mkdir() और mkdirs() के बजाय निर्देशिका
final File newFile = new File("/mnt/sdcard/test/");
newFile.mkdir(); // if I use mkdirs() result is the same
और यह एक खाली फ़ाइल बनाता है! क्यूं कर?
मैं निम्नलिखित कोड का उपयोग की फ़ाइल बना रहे:File.mkdir() और mkdirs() के बजाय निर्देशिका
final File newFile = new File("/mnt/sdcard/test/");
newFile.mkdir(); // if I use mkdirs() result is the same
और यह एक खाली फ़ाइल बनाता है! क्यूं कर?
आप mkdirs() का उपयोग नहीं करेंगे जबतक कि आप संरचना में बनाए गए प्रत्येक फ़ोल्डर को नहीं चाहते थे। अपनी स्ट्रिंग के अंत में अतिरिक्त स्लैश जोड़ने का प्रयास न करें और देखें कि क्या यह काम करता है।
उदाहरण
final File newFile = new File("/mnt/sdcard/test");
newFile.mkdir();
मैंने अंत में 2 स्लेश के साथ प्रयास किया है, और यह काम करता है, धन्यवाद! – arts777
कोई "/ mnt/sdcard" नहीं है जो सभी एंड्रॉइड डिवाइस (किटकैट) पर वास्तविक एसडीकार्ड को इंगित करता है। मैंने "/ स्टोरेज/बाहरी_SD/एंड्रॉइड/डेटा/
कोशिश सभी की
String rootPath=Environment.getExternalStorageDirectory().getAbsolutePath()+"/test/";
File file=new File(rootPath);
if(!file.exists()){
file.mkdirs();
}
सबसे पहले उपयोग करने के लिए आप "/ mnt/sdcard/परीक्षण" के साथ एक फ़ाइल पथ का उपयोग नहीं करना चाहिए के लिए, इस के साथ कुछ समस्याएं पैदा हो सकती कुछ एंड्रॉइड फोन। इसके बजाए उपयोग करें:
public final static String APP_PATH_SD_CARD = "/Test";
String fullPath = Environment.getExternalStorageDirectory().getAbsolutePath() + APP_PATH_SD_CARD;
यह डैश जोड़ने के बाद से एक खाली फ़ाइल बनाता है।
अब आप अपने मार्ग का अनुसरण कोड का उपयोग किया है:
try {
File dir = new File(fullPath);
if (!dir.exists()) {
dir.mkdirs();
}
}
catch(Exception e){
Log.w("creating file error", e.toString());
}
>> सबसे पहले आपको "/ mnt/sdcard/test" के साथ फ़ाइल पथ का उपयोग नहीं करना चाहिए >> यह ठीक है, क्योंकि यह उदाहरण कोड है। वास्तव में, यह फ़ाइल प्रबंधक का हिस्सा है और मैं उपयोगकर्ता द्वारा परिभाषित पथ के साथ निर्देशिका बनाने की कोशिश कर रहा हूं। इसलिए, मैं वास्तविक कोड में हार्डकोडेड "/ mnt/sdcard /" पथ का उपयोग नहीं करता हूं। – arts777
उस मामले में काफी उचित है। – Max
जब मैं सुनिश्चित करना है कि एक फ़ाइल के लिए सभी dirs मौजूद जरूरत है, लेकिन मैं केवल filepath है - मैं करना
new File(FileName.substring(0,FileName.lastIndexOf("/"))).mkdirs();
हैं आप निश्चित रूप से, यह एक खाली फाइल है? – ariefbayu
---- rwxr-x सिस्टम sdcard_rw 9873 – arts777
बिल्ली/mnt/sdcard/test ->/mnt/sdcard/test: अमान्य लंबाई – arts777