कई दोहराए जाने वाले कार्य हैं जिन्हें आपको समय-समय पर पूरा करने की आवश्यकता हो सकती है। एक उदाहरण यह है कि यदि आपको अपने स्थानीय कंप्यूटर पर फ़ाइलों में नियमित रूप से परिवर्तन करने की आवश्यकता है। इन कार्रवाइयों में फ़ाइलों की प्रतिलिपि बनाना, स्थानांतरित करना, हटाना या संग्रहीत करना शामिल हो सकता है।
इन दोहराए जाने वाले कार्यों को मैन्युअल रूप से पूरा करने के बजाय, आप प्रोग्राम का उपयोग करके उन्हें स्वचालित कर सकते हैं। जावा जैसी उपलब्ध कई प्रोग्रामिंग भाषाओं में से एक का उपयोग करके आप इसे एकल स्क्रिप्ट फ़ाइल के साथ कर सकते हैं।
जावा एप्लिकेशन कैसे सेट करें
सबसे पहले, सुनिश्चित करें कि आपके पास है Oracle का Java SE डेवलपमेंट किट स्थापित। फिर एक साधारण जावा कंसोल एप्लिकेशन बनाएं:
- अपने कंप्यूटर पर कहीं भी एक फ़ाइल बनाएँ जिसे कहा जाता है SimpleScript.java.
- फ़ाइल को टेक्स्ट एडिटर या IDE में खोलें।
- फ़ाइल के शीर्ष पर, IOException क्लास आयात करें। यह आपको फ़ाइल की प्रतिलिपि बनाने जैसे कुछ कार्यों को करने का प्रयास करते समय फ़ाइल या आईओ-संबंधित अपवादों को संभालने की अनुमति देगा।
आयात java.io. आईओएक्सप्शन;
- नीचे, जोड़ें मुख्य जावा वर्ग और यह मुख्य तरीका। जब आप एप्लिकेशन शुरू करेंगे तो मुख्य विधि चलेगी। अभी के लिए, यह सुनिश्चित करने के लिए कि प्रोग्राम सही ढंग से चलता है, बस एक संदेश प्रिंट करें। इसके बाद, आप मुख्य फ़ंक्शन की सामग्री को निम्न में से किसी भी उदाहरण के साथ परीक्षण करने के लिए प्रतिस्थापित कर सकते हैं।
कक्षासरल स्क्रिप्ट{
जनतास्थिरशून्यमुख्य(स्ट्रिंग आर्ग [])फेंकता IOException {
System.out.println ("सरल कंसोल ऐप");
}
} - स्क्रिप्ट चलाने के लिए, अपनी जावा फ़ाइल के स्थान पर नेविगेट करने के लिए कमांड लाइन का उपयोग करके प्रारंभ करें। उदाहरण के लिए, यदि आपने अपनी फ़ाइल को डेस्कटॉप पर संग्रहीत किया है, तो आदेश होगा:
सीडी डेस्कटॉप
- फ़ाइल को सहेजें, और उपयोग करें जावैसी संकलित करने का आदेश दिया। हर बार जब आप फ़ाइल में बदलाव करते हैं, तो आपको इसे फिर से संकलित करना होगा जावैसी.
javac SimpleScript.java
- एप्लिकेशन चलाएँ:
जावा सिंपलस्क्रिप्ट
अपने कंप्यूटर में स्थानीय फ़ाइलों तक कैसे पहुँचें
आप निर्देशिका में फ़ाइलों को प्रोग्रामेटिक रूप से एक्सेस करने के लिए फ़ाइल क्लास का उपयोग कर सकते हैं।
- एक नया फोल्डर बनाएं, जिसका नाम है नई निर्देशिका, आपकी जावा फ़ाइल के समान निर्देशिका में। इसके अंदर कुछ फाइलें बनाएं—यदि आप चाहें तो वे खाली टेक्स्ट फाइलें हो सकती हैं।
- अपने जावा एप्लिकेशन के शीर्ष पर, फ़ाइल वर्ग आयात करें। यह आपको ओएस फाइलों और निर्देशिकाओं से संबंधित कुछ विधियों और अन्य कार्यक्षमताओं तक पहुंचने की अनुमति देगा।
आयात java.io. फ़ाइल;
- अपने नए फ़ोल्डर के सापेक्ष पथ का उपयोग करके एक नया फ़ाइल ऑब्जेक्ट बनाएं।
फ़ाइल निर्देशिका = नया फ़ाइल ("नई निर्देशिका");
- उस निर्देशिका के अंदर सभी फाइलों की सूची तक पहुंचने के लिए listFiles() फ़ंक्शन का उपयोग करें।
फ़ाइल [] सूचीऑफफाइल्स = निर्देशिका। सूचीफाइल्स ();
के लिये (फाइल फाइल: लिस्टऑफफाइल्स) {
System.out.println (फ़ाइल);
} - का उपयोग करके प्रोग्राम को फिर से संकलित करें और चलाएं जावैसी तथा जावा आदेश।
फ़ाइलों को किसी अन्य स्थान पर कॉपी कैसे करें
आप फ़ाइलों को कॉपी करने के कई तरीके हैं। फ़ाइलों की प्रतिलिपि बनाने का एक सामान्य तरीका (विशेषकर Java 7 और java.nio.file पैकेज से पहले), FileInputStream या FileOutputStream कक्षाओं का उपयोग करना है।
- फाइलइनपुटस्ट्रीम कक्षा आपको फ़ाइल से बाइट पढ़ने के लिए इनपुट स्ट्रीम खोलने की अनुमति देती है।
- फ़ाइलआउटपुटस्ट्रीम कक्षा आपको फ़ाइल में बाइट लिखने के लिए आउटपुट स्ट्रीम खोलने की अनुमति देती है।
फ़ाइलों की प्रतिलिपि बनाते समय, विचार इनपुट और आउटपुट स्ट्रीम खोलने का होता है। उन धाराओं का उपयोग करके, आप स्रोत स्थान पर फ़ाइल के बाइट्स पढ़ेंगे, और फिर उन बाइट्स को नए स्थान पर लिखेंगे।
यह उदाहरण java.nio.file पैकेज के फाइल वर्ग से कॉपी () फ़ंक्शन का उपयोग करके, फ़ाइलों की प्रतिलिपि बनाने के लिए एक नए कार्यान्वयन का उपयोग करेगा। Java.nio.file पैकेज का उपयोग करने के लिए, आपके पास Java 7 या उच्चतर स्थापित होना चाहिए।
- फ़ाइल के शीर्ष पर, java.nio.file पैकेज से फ़ाइल और पथ वर्ग आयात करें।
आयात java.nio.file. फ़ाइलें;
आयात java.nio.file. पथ; - नामक एक नई फ़ाइल जोड़ें FileToCopy.txt आपकी जावा फ़ाइल के समान निर्देशिका में। मुख्य () फ़ंक्शन में, उस फ़ाइल के सापेक्ष पथ की घोषणा करें।
स्ट्रिंग कॉपीसोर्स = "FileToCopy.txt";
- एक नया फोल्डर बनाएं, जिसका नाम है नया फोल्डर, फ़ाइल को कॉपी करने के लिए। मुख्य () फ़ंक्शन में गंतव्य के सापेक्ष पथ जोड़ें।
स्ट्रिंग कॉपीडेस्टिनेशन = "न्यूफोल्डर/फाइलटोकॉपी.txt";
- फ़ाइल को उसके स्रोत से गंतव्य तक कॉपी करने के लिए कॉपी () विधि का उपयोग करें।
प्रयत्न {
Files.copy (Paths.get (copySource), Paths.get (copyDestination));
} पकड़(अपवाद ई) {
System.out.println ("स्पेक्स फ़ाइल को इसमें कॉपी नहीं कर सका:" + copyDestination
+ ". जांच यदि फ़ोल्डर या फ़ाइल पहले से मौजूद है।");
} - का उपयोग करके प्रोग्राम को फिर से संकलित करें और चलाएं जावैसी तथा जावा आदेश।
- यह पुष्टि करने के लिए नया फ़ोल्डर खोलें कि प्रोग्राम ने आपकी फ़ाइल की प्रतिलिपि बनाई है।
फाइल्स या फोल्डर्स को कैसे मूव करें
आप फ़ाइलों या फ़ोल्डरों का उपयोग करके स्थानांतरित कर सकते हैं कदम() Files वर्ग में कार्य करता है, जो java.nio.file पैकेज का भी हिस्सा है।
- नाम का एक नया फोल्डर बनाएं निर्देशिका टूमूव आपकी जावा फ़ाइल के समान फ़ोल्डर में।
- नाम का दूसरा फोल्डर बनाएं नई निर्देशिका उसी फ़ोल्डर में। यह वह जगह है जहां प्रोग्राम मूल फ़ोल्डर को स्थानांतरित कर देगा।
- उस निर्देशिका के लिए फ़ाइल ऑब्जेक्ट बनाएं, जिसे आप स्थानांतरित करना चाहते हैं, और जिस स्थान पर आप उसे स्थानांतरित करना चाहते हैं:
फ़ाइल चाल स्रोत = नया फ़ाइल ("DirectoryToMove");
फ़ाइल चालन गंतव्य = नया फ़ाइल ("न्यूडायरेक्टरी / डायरेक्टरी टूमूव"); - उपयोग फ़ाइलें.चाल () फ़ाइल को स्रोत से गंतव्य तक ले जाने की विधि:
प्रयत्न {
Files.move (moveSource.toPath (), moveDestination.toPath ());
System.out.println ("निर्देशिका सफलतापूर्वक स्थानांतरित हो गई।");
} पकड़ (आईओएक्सप्शन पूर्व) {
उदा.प्रिंटस्टैकट्रेस ();
} - का उपयोग करके प्रोग्राम को फिर से संकलित करें और चलाएं जावैसी तथा जावा आदेश।
- यह देखने के लिए कि "DirectoryToMove" फ़ोल्डर अब अंदर है, NewDirectory फ़ोल्डर खोलें।
किसी फाइल को कैसे डिलीट करें
आप का उपयोग कर सकते हैं मिटाना() किसी विशेष फ़ाइल को हटाने के लिए फ़ाइल वर्ग से विधि।
- नामक एक फ़ाइल बनाएँ FileToDelete.txt. फ़ाइल को अपने जावा एप्लिकेशन के समान फ़ोल्डर में सहेजें।
- उस फ़ाइल के लिए एक नया फ़ाइल ऑब्जेक्ट बनाएँ जिसे आप हटाना चाहते हैं। फिर, फ़ाइल को हटाने के लिए इसकी डिलीट () विधि का उपयोग करें। विलोपन सफल रहा या नहीं, इसके आधार पर डिलीट विधि एक सही या गलत मान लौटाती है।
फ़ाइल फ़ाइल हटाने के लिए = नया फ़ाइल ("FileToDelete.txt");
यदि (fileToDelete.delete ()) {
System.out.println ("फ़ाइल सफलतापूर्वक हटा दी गई।");
} वरना {
System.out.println ("फ़ाइल को हटाने में असमर्थ");
}
फ़ाइलों को ज़िप कैसे करें
ज़िप संग्रह बनाने के कई तरीके हैं कई संपीड़ित फ़ाइलें युक्त. यह उदाहरण उपयोग करेगा ज़िपआउटपुटस्ट्रीम तथा ज़िपएंट्री कक्षाएं।
- फ़ाइल के शीर्ष पर आवश्यक ZipOutputStream, ZipEntry, और FileOutputStream कक्षाएं आयात करें।
आयात java.util.zip। ज़िपऑटपुटस्ट्रीम;
आयात java.util.zip। ज़िपएंट्री;
आयात java.io. फ़ाइलऑटपुटस्ट्रीम; - ज़िप फ़ाइल और zipEntry ऑब्जेक्ट्स की एक सूची बनाएं जो उन टेक्स्ट फ़ाइलों का प्रतिनिधित्व करती है जिन्हें आप ज़िप करना चाहते हैं। यह उदाहरण नई टेक्स्ट फ़ाइलें जेनरेट करेगा, लेकिन आप पहले से मौजूद टेक्स्ट फ़ाइलों को शामिल करने के लिए स्क्रिप्ट को बाद में संशोधित कर सकते हैं।
फ़ाइल ज़िपफ़ाइल = नया फ़ाइल ("ज़िप्डफाइल.ज़िप");
ZipEntry[] zipEntries = नया ज़िपएंट्री [] {नया ZipEntry ("zipFile1.txt"),
नया ZipEntry ("zipFile2.txt"), नया ZipEntry("zipFile3.txt"}); - ज़िप फ़ाइल में डेटा लिखने के लिए ज़िप आउटपुट स्ट्रीम बनाएँ।
ज़िपऑटपुटस्ट्रीम आउट = नया ज़िपऑटपुटस्ट्रीम(नया फाइलऑटपुटस्ट्रीम (ज़िपफाइल));
- प्रत्येक फ़ाइल को ज़िप फ़ोल्डर में जोड़ें, और स्ट्रीम बंद करें।
के लिये (ज़िपएंट्री zipEntry: zipEntries) {
out.putNextEntry (zipEntry);स्ट्रिंगबिल्डर एसबी = नया स्ट्रिंगबिल्डर ();
sb.append ("पाठ फ़ाइल के अंदर सामग्री");बाइट[] डेटा = sb.toString ()। getBytes ();
आउट.राइट (डेटा, 0, डेटा। लंबाई);
आउट.क्लोज़एंट्री ();
}बाहर। बंद ();
- का उपयोग करके प्रोग्राम को फिर से संकलित करें और चलाएं जावैसी तथा जावा आदेश। आप देखेंगे कि आपकी फ़ाइल निर्देशिका में नया ज़िप फ़ोल्डर दिखाई देगा।
जावा के साथ सरल कार्यों को स्वचालित करना
आप दोहराए गए फ़ाइल प्रबंधक कार्यों को प्रोग्रामेटिक रूप से पूरा करने के लिए स्क्रिप्ट का उपयोग कर सकते हैं। इन कार्यों में फ़ाइलों को एक्सेस करना, कॉपी करना, स्थानांतरित करना, हटाना और ज़िप करना शामिल है।
एक और तरीका है कि आप दोहराए जाने वाले कार्यों को स्वचालित कर सकते हैं एक स्क्रिप्ट फ़ाइल में सिस्टम कमांड का उपयोग करना। Linux और macOS पर, ऐसी फ़ाइलों को शेल स्क्रिप्ट के रूप में जाना जाता है, जबकि Windows उन्हें बैच स्क्रिप्ट के रूप में संदर्भित करता है।