जावा ऑटोमेशन के लिए आदर्श उपकरण क्यों है?
\n\nक्या आपने कभी एक फ़ोल्डर में 200 फ़ाइलों का नाम बदलने में आधा दिन बिताया है? या दर्जनों Excel तालिकाओं से मैन्युअल रूप से डेटा कॉपी करके रिपोर्ट बनाई है? परिचित लगता है? तो यह लेख आपके लिए है।
\n\nजावा केवल विशाल कॉर्पोरेट सिस्टम के लिए भाषा नहीं है। यह एक शक्तिशाली, स्थिर और क्रॉस-प्लेटफ़ॉर्म उपकरण है जो रूटीन कार्यों के ऑटोमेशन के लिए बहुत उपयुक्त है। स्क्रिप्टिंग भाषाओं के विपरीत, जावा प्रोग्राम तेज़ी से काम करते हैं, उन्हें बनाए रखना आसान है, और पुस्तकालयों का विशाल पारिस्थितिकी तंत्र (Maven Central) लगभग किसी भी कार्य को "बॉक्स से बाहर" हल करने की अनुमति देता है।
\n\nइस लेख में हम सिद्धांत के बारे में बात नहीं करेंगे। हम जावा में ऑटोमेशन के 5 वास्तविक परिदृश्यों को तैयार कोड के साथ देखेंगे, जिसे आप कॉपी कर सकते हैं और अपनी आवश्यकताओं के अनुसार अनुकूलित कर सकते हैं। चलिए शुरू करते हैं!
\n\n1. फ़ाइल सिस्टम के साथ काम का ऑटोमेशन (नाम बदलना, छाँटना, सफाई)
\n\nसबसे आम कार्य फ़ाइलों में व्यवस्था लाना है। कल्पना करें: आपके पास report_2024_01_15.xlsx, report_2024_01_16.xlsx आदि प्रारूप की रिपोर्ट वाला एक फ़ोल्डर है। आपको उन्हें महीने के अनुसार फ़ोल्डरों में स्थानांतरित करना है। हाथ से करने में 15 मिनट लगते हैं। जावा से 2 सेकंड।
उदाहरण: तिथि के अनुसार फ़ाइलों की स्वचालित छँटाई
\n\nimport java.io.IOException;\nimport java.nio.file.*;\nimport java.time.LocalDate;\nimport java.time.format.DateTimeFormatter;\nimport java.util.regex.Matcher;\nimport java.util.regex.Pattern;\n\npublic class FileSorter {\n public static void main(String[] args) throws IOException {\n Path sourceDir = Paths.get("C:/reports");\n Pattern pattern = Pattern.compile("report_(\\\\d{4})_(\\\\d{2})_(\\\\d{2})\\\\.xlsx");\n\n try (DirectoryStream<Path> stream = Files.newDirectoryStream(sourceDir, "*.xlsx")) {\n for (Path file : stream) {\n Matcher matcher = pattern.matcher(file.getFileName().toString());\n if (matcher.matches()) {\n String year = matcher.group(1);\n String month = matcher.group(2);\n Path targetDir = sourceDir.resolve(year).resolve(month);\n Files.createDirectories(targetDir);\n Files.move(file, targetDir.resolve(file.getFileName()), StandardCopyOption.REPLACE_EXISTING);\n System.out.println("स्थानांतरित: " + file.getFileName());\n }\n }\n }\n System.out.println("हो गया! फ़ाइलें फ़ोल्डरों में क्रमबद्ध हो गई हैं।");\n }\n}\n\nयह कोड क्या करता है? यह फ़ोल्डर को स्कैन करता है, पैटर्न से मेल खाने वाली सभी फ़ाइलों को ढूँढता है, नाम से वर्ष और महीना निकालता है, नेस्टेड फ़ोल्डर बनाता है और फ़ाइलों को स्थानांतरित करता है। सब कुछ सरल और विश्वसनीय है।
\n\nआप इस कोड को अपनी आवश्यकताओं के अनुसार आसानी से अनुकूलित कर सकते हैं: पैटर्न बदलें, लॉगिंग जोड़ें या सबफ़ोल्डर्स की पुनरावर्ती खोज करें। यह फ़ाइलों से संबंधित किसी भी जावा कार्य ऑटोमेशन का आधार है।
\n\n2. Excel फ़ाइलों का पार्सिंग और प्रसंस्करण (Apache POI)
\n\nExcel एकाउंटेंट, प्रबंधकों और विश्लेषकों का "पसंदीदा" उपकरण है। और अक्सर आपको 10 फ़ाइलों से डेटा एक में इकट्ठा करना होता है, या इसके विपरीत - एक बड़ी फ़ाइल को कई में विभाजित करना होता है। Apache POI लाइब्रेरी जावा में Excel के साथ काम करने का डी-फैक्टो मानक है।
\n\nउदाहरण: Excel से डेटा पढ़ना और सारांश रिपोर्ट तैयार करना
\n\nimport org.apache.poi.ss.usermodel.*;\nimport org.apache.poi.xssf.usermodel.XSSFWorkbook;\n\nimport java.io.FileInputStream;\nimport java.io.FileOutputStream;\nimport java.io.IOException;\nimport java.util.HashMap;\nimport java.util.Map;\n\npublic class ExcelAggregator {\n public static void main(String[] args) throws IOException {\n Map<String, Double> summary = new HashMap<>();\n\n // तीन फ़ाइलें पढ़ें\n String[] files = {"sales_q1.xlsx", "sales_q2.xlsx", "sales_q3.xlsx"};\n for (String fileName : files) {\n