क्या फ़ाइलऑटपुटस्ट्रीम का उपयोग इस तरीके से करने का कोई तरीका है कि यदि कोई फ़ाइल (स्ट्रिंग फ़ाइल नाम) मौजूद नहीं है, तो यह इसे बनाएगा?जावा फ़ाइलऑटपुटस्ट्रीम फ़ाइल मौजूद नहीं है
FileOutputStream oFile = new FileOutputStream("score.txt", false);
क्या फ़ाइलऑटपुटस्ट्रीम का उपयोग इस तरीके से करने का कोई तरीका है कि यदि कोई फ़ाइल (स्ट्रिंग फ़ाइल नाम) मौजूद नहीं है, तो यह इसे बनाएगा?जावा फ़ाइलऑटपुटस्ट्रीम फ़ाइल मौजूद नहीं है
FileOutputStream oFile = new FileOutputStream("score.txt", false);
यह अगर फ़ाइल मौजूद नहीं है और नहीं बनाया जा सकता (doc) एक FileNotFoundException
फेंक होगा, लेकिन यह करता है, तो यह कर सकते हैं बना देगा। यह सुनिश्चित हो कि आप शायद चाहिए पहले टेस्ट कि फ़ाइल मौजूद है इससे पहले कि आप FileOutputStream
बनाने (और यदि ऐसा नहीं होता है createNewFile()
साथ बनाने):
File yourFile = new File("score.txt");
yourFile.createNewFile(); // if file already exists will do nothing
FileOutputStream oFile = new FileOutputStream(yourFile, false);
File f = new File("Test.txt");
if(!f.exists())
f.createNewFile();
पास अपने FileOutputStream
निर्माता को यह f
।
इसने फ़ाइल बनाई है अगर यह नहीं मिला, धन्यवाद। –
यहां सबसे अच्छा जवाब। +1। – m4heshd
यदि फ़ाइल मौजूद नहीं है तो आप संभावित रूप से FileNotFoundException
प्राप्त कर सकते हैं।
जावा प्रलेखन कहते हैं:
होना या न होना एक फ़ाइल उपलब्ध है या बनाया जा सकता है अंतर्निहित प्लेटफ़ॉर्म पर निर्भर करता है http://docs.oracle.com/javase/7/docs/api/java/io/FileOutputStream.html
आप जावा 7 का उपयोग कर रहे हैं तो आप उपयोग कर सकते हैं java.nio पैकेज:
विकल्प पैरामीटर निर्दिष्ट करता है कि फ़ाइल कैसे बनाई जाती है या खोला जाता है ... यह लिखने के लिए फ़ाइल को खोलता है, फ़ाइल बनाने अगर यह मौजूद नहीं है ...
http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html
यह मौजूद है या नहीं आप एक रिक्त फ़ाइल बना सकते हैं ...
new FileOutputStream("score.txt", false).close();
यदि आप यदि वह मौजूद है फ़ाइल छोड़ना चाहते हैं ...
new FileOutputStream("score.txt", true).close();
आप केवल अगर आप फाई बनाने की कोशिश एक FileNotFoundException मिल एक निर्देशिका में ले जो मौजूद नहीं है।
यह दोनों मामलों में 'FileNotFoundException' फेंकता है। – mixel
फ़ाइल बनाने से पहले, सभी मूल निर्देशिका बनाने की आवश्यकता है।
उपयोग yourFile.getParentFile().mkdirs()
FileUtils Apache Commons से एक पंक्ति में इस लक्ष्य को हासिल करने के लिए एक बहुत अच्छा तरीका है।
FileOutputStream s = FileUtils.openOutputStream("/home/nikhil/somedir/file.txt")
यह अगर अस्तित्व में नहीं है और न ही मौजूद है, तो फ़ाइल बनाने और उसे एक अपवाद फेंक अगर फाइल वस्तु एक निर्देशिका है या नहीं लिखा जा सकता है पैरेंट फ़ोल्डरों पैदा करेगा। यदि वर्तमान उपयोगकर्ता आपरेशन करने के लिए अनुमति नहीं है
File file = new File("/home/nikhil/somedir/file.txt");
file.getParentFile().mkdirs(); // Will create parent directories if not exists
file.createNewFile();
FileOutputStream s = new FileOutputStream(file,false);
उपरोक्त सभी कार्यों के लिए एक अपवाद फेंक देते हैं: यह बराबर है।
मौजूद नहीं होने पर फ़ाइल बनाएं।यदि फ़ाइल बाहर निकलता है, उसकी सामग्री को स्पष्ट:
/**
* Create file if not exist.
*
* @param path For example: "D:\foo.xml"
*/
public static void createFile(String path) {
try {
File file = new File(path);
if (!file.exists()) {
file.createNewFile();
} else {
FileOutputStream writer = new FileOutputStream(path);
writer.write(("").getBytes());
writer.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
बस फ़ाइल केवल तभी पथ और फ़ाइलें का उपयोग कर मौजूद नहीं है बनाने के लिए एक वैकल्पिक तरीका देते।
Path path = Paths.get("Some/path/filename.txt");
Files.createDirectories(path.getParent());
if(!Files.exists(path))
Files.createFile(path);
Files.write(path, ("").getBytes());
यदि फ़ाइल मौजूद नहीं है, तो मैं एक खाली .txt फ़ाइल कैसे बनाऊंगा? –
@StefanDunn 'createNewFile()' विधि के साथ, जैसा कि मेरे उदाहरण में दिखाया गया है। – talnicolas
स्थिति अनावश्यक है। [जावाडॉक] के अनुसार (http://docs.oracle.com/javase/1.4.2/docs/api/java/io/File.html#createNewFile%28%29), 'createNewFile()' स्वयं परमाणु रूप से जांचता है फ़ाइल का अस्तित्व – aztek