هناك العديد من المهام المتكررة التي قد تحتاج إلى إكمالها من وقت لآخر. أحد الأمثلة على ذلك هو ما إذا كنت بحاجة إلى إجراء تغييرات منتظمة على الملفات الموجودة على جهاز الكمبيوتر المحلي الخاص بك. يمكن أن تتضمن هذه الإجراءات نسخ الملفات أو نقلها أو حذفها أو أرشفتها.

بدلاً من إكمال هذه المهام المتكررة يدويًا ، يمكنك تشغيلها تلقائيًا باستخدام برنامج. يمكنك القيام بذلك باستخدام ملف نصي واحد ، باستخدام إحدى لغات البرمجة العديدة المتاحة ، مثل Java.

كيفية إعداد تطبيق Java

أولا ، تأكد من أن لديك مجموعة تطوير Java SE من Oracle المثبتة. ثم قم بإنشاء تطبيق وحدة تحكم Java بسيط:

  1. قم بإنشاء ملف في أي مكان على جهاز الكمبيوتر الخاص بك يسمى SimpleScript.java.
  2. افتح الملف في محرر نصي أو IDE.
  3. في الجزء العلوي من الملف ، قم باستيراد فئة IOException. سيسمح لك هذا بالتعامل مع ملف أو استثناءات IO عند محاولة القيام بوظائف معينة ، مثل نسخ ملف.
    يستورد java.io. استثناء IO ؛
  4. أدناه ، أضف فئة Java الرئيسية و ال رئيسي طريقة. سيتم تشغيل الطريقة الرئيسية عند بدء تشغيل التطبيق. في الوقت الحالي ، ما عليك سوى طباعة رسالة للتأكد من تشغيل البرنامج بشكل صحيح. بعد ذلك ، يمكنك استبدال محتويات الوظيفة الرئيسية بأي من الأمثلة التالية لاختبارها.
    instagram viewer
    صف دراسيسيمبسكريبت{ 
    عامثابتةفارغرئيسي(سلاسل السلسلة [])رميات IOException {
    System.out.println ("تطبيق وحدة التحكم البسيط") ؛
    }
    }
  5. لتشغيل البرنامج النصي ، ابدأ باستخدام سطر أوامر للانتقال إلى موقع ملف جافا الخاص بك. على سبيل المثال ، إذا قمت بتخزين ملفك على سطح المكتب ، فسيكون الأمر:
    قرص مضغوط سطح المكتب
  6. احفظ الملف واستخدم ملحق جافاك الأمر لتجميعها. في كل مرة تُجري فيها تغييرات على الملف ، ستحتاج إلى إعادة تجميعه باستخدام جافاك.
    javac SimpleScript.java
  7. قم بتشغيل التطبيق:
    جافا SimpleScript

كيفية الوصول إلى الملفات المحلية في جهاز الكمبيوتر الخاص بك

يمكنك استخدام فئة الملف للوصول برمجيًا إلى الملفات الموجودة في الدليل.

  1. قم بإنشاء مجلد جديد يسمى دليل جديد، في نفس الدليل مثل ملف جافا الخاص بك. قم بإنشاء بعض الملفات بداخلها — يمكن أن تكون ملفات نصية فارغة إذا أردت.
  2. في الجزء العلوي من تطبيق Java الخاص بك ، قم باستيراد فئة الملف. سيسمح لك ذلك بالوصول إلى طرق معينة ووظائف أخرى متعلقة بملفات وأدلة نظام التشغيل.
    يستورد java.io. ملف؛
  3. قم بإنشاء كائن ملف جديد باستخدام المسار النسبي لمجلدك الجديد.
    دليل الملف = الجديد ملف ("دليل جديد") ؛
  4. استخدم الوظيفة listFiles () للوصول إلى قائمة بجميع الملفات الموجودة داخل هذا الدليل.
    ملف [] listOfFiles = directory.listFiles () ،

    إلى عن على (ملف الملف: listOfFiles) {
    System.out.println (ملف) ؛
    }

  5. أعد ترجمة البرنامج وتشغيله باستخدام ملف جافاك و جافا أوامر.

كيفية نسخ الملفات إلى موقع آخر

هناك عدة طرق يمكنك من خلالها نسخ الملفات. من الطرق الشائعة لنسخ الملفات (خاصة قبل Java 7 وحزمة java.nio.file) ، استخدام فئات FileInputStream أو FileOutputStream.

  • ال FileInputStream يسمح لك class بفتح دفق إدخال لقراءة البايت من ملف.
  • ال FileOutputStream يسمح لك class بفتح تدفق إخراج لكتابة بايت إلى ملف.

عند نسخ الملفات ، تكمن الفكرة في فتح دفق الإدخال والإخراج. باستخدام هذه التدفقات ، ستقرأ وحدات بايت الملف في الموقع المصدر ، ثم تكتب تلك البايتات إلى الموقع الجديد.

سيستخدم هذا المثال تطبيقًا أحدث لنسخ الملفات ، باستخدام وظيفة copy () من فئة Files من الحزمة java.nio.file. لاستخدام حزمة java.nio.file ، يجب أن يكون لديك Java 7 أو أعلى مثبتًا.

  1. في الجزء العلوي من الملف ، قم باستيراد فئتي الملف والمسار من حزمة java.nio.file.
    يستورد java.nio.file. الملفات ؛
    يستورد java.nio.file. مسارات؛
  2. أضف ملفًا جديدًا يسمى FileToCopy.txt في نفس الدليل مثل ملف جافا الخاص بك. في الدالة main () ، قم بتعريف المسار النسبي لهذا الملف.
    String copySource = "FileToCopy.txt" ؛ 
  3. قم بإنشاء مجلد جديد يسمى ملف جديد، لنسخ الملف إلى. أضف المسار النسبي إلى الوجهة في دالة main ().
    String copyDestination = "NewFolder / FileToCopy.txt" ؛
  4. استخدم طريقة copy () لنسخ الملف من مصدره إلى الوجهة.
    محاولة {
    Files.copy (Paths.get (copySource)، Paths.get (copyDestination)) ؛
    } قبض على(استثناء هـ) {
    System.out.println ("تعذر نسخ ملف المواصفات في:" + copyDestination
    + ". يفحص إذا المجلد أو الملف موجود بالفعل. ") ؛
    }
  5. أعد ترجمة البرنامج وتشغيله باستخدام ملف جافاك و جافا أوامر.
  6. افتح المجلد الجديد للتأكد من أن البرنامج قد نسخ ملفك.

كيفية نقل الملفات أو المجلدات

يمكنك نقل الملفات أو المجلدات باستخدام امتداد يتحرك() تعمل في فئة الملفات ، والتي تعد أيضًا جزءًا من حزمة java.nio.file.

  1. قم بإنشاء مجلد جديد يسمى DirectoryToMove في نفس المجلد مثل ملف Java الخاص بك.
  2. قم بإنشاء مجلد آخر يسمى دليل جديد في نفس المجلد. هذا هو المكان الذي سينقل البرنامج المجلد الأصلي إليه.
  3. إنشاء كائنات ملف للدليل الذي تريد نقله ، والموقع الذي تريد نقله إليه:
    ملف نقل المصدر = الجديد ملف ("DirectoryToMove") ؛
    File moveDestination = الجديد ملف ("NewDirectory / DirectoryToMove") ؛
  4. استخدم ال نقل الملفات () طريقة لنقل الملف من المصدر إلى الوجهة:
    محاولة {
    Files.move (moveSource.toPath ()، moveDestination.toPath ()) ،
    System.out.println ("تم نقل الدليل بنجاح.")؛
    } قبض على (استثناءات IO) {
    ex.printStackTrace () ،
    }
  5. أعد ترجمة البرنامج وتشغيله باستخدام ملف جافاك و جافا أوامر.
  6. افتح مجلد NewDirectory لعرض أن مجلد "DirectoryToMove" موجود الآن بالداخل.

كيفية حذف ملف

يمكنك استخدام ال حذف() طريقة من فئة File لحذف ملف معين.

  1. قم بإنشاء ملف يسمى FileToDelete.txt. احفظ الملف في نفس المجلد مثل تطبيق Java الخاص بك.
  2. قم بإنشاء كائن ملف جديد للملف الذي تريد حذفه. ثم استخدم طريقة الحذف () لحذف الملف. يعيد التابع delete قيمة صواب أو خطأ ، اعتمادًا على ما إذا كان الحذف ناجحًا أم لا.
    ملف fileToDelete = الجديد ملف ("FileToDelete.txt") ؛

    إذا (fileToDelete.delete ()) {
    System.out.println ("تم حذف الملف بنجاح.")؛
    } آخر {
    System.out.println ("تعذر حذف الملف.") ؛
    }

كيفية ضغط الملفات

هناك العديد من الطرق التي يمكنك من خلالها إنشاء أرشيف مضغوط تحتوي على عدة ملفات مضغوطة. سيستخدم هذا المثال الامتداد ZipOutputStream و ZipEntry الطبقات.

  1. قم باستيراد فئات ZipOutputStream و ZipEntry و FileOutputStream الضرورية أعلى الملف.
    يستورد java.util.zip. ZipOutputStream ؛
    يستورد java.util.zip. ZipEntry
    يستورد java.io. FileOutputStream ؛
  2. قم بإنشاء ملف مضغوط وقائمة بكائنات zipEntry التي تمثل الملفات النصية التي ترغب في ضغطها. سينشئ هذا المثال ملفات نصية جديدة ، ولكن يمكنك تعديل البرنامج النصي لاحقًا لتضمين الملفات النصية الموجودة بالفعل.
    ملف مضغوط = الجديد ملف ("ZippedFile.zip") ؛
    ZipEntry [] zipEntries = الجديد ZipEntry [] {الجديد ZipEntry ("zipFile1.txt") ،
    الجديد ZipEntry ("zipFile2.txt") ، الجديد ZipEntry ("zipFile3.txt")} ؛
  3. قم بإنشاء تدفق إخراج مضغوط لكتابة البيانات إلى ملف مضغوط.
    ZipOutputStream خارج = الجديد ZipOutputStream (الجديد FileOutputStream (zipFile)) ؛
  4. أضف كل ملف إلى المجلد المضغوط ، وأغلق الدفق.
    إلى عن على (ZipEntry zipEntry: zipEntries) {
    out.putNextEntry (zipEntry) ؛

    StringBuilder sb = الجديد StringBuilder () ،
    sb.append ("المحتوى داخل ملف نصي") ؛

    بايت[] data = sb.toString (). getBytes () ؛
    out.write (البيانات ، 0، طول البيانات)؛
    out.closeEntry () ؛
    }

    out.close () ؛

  5. أعد ترجمة البرنامج وتشغيله باستخدام ملف جافاك و جافا أوامر. سترى مجلد مضغوط جديد يظهر في دليل الملفات الخاص بك.

أتمتة المهام البسيطة باستخدام Java

يمكنك استخدام برنامج نصي لإكمال مهام مدير الملفات المتكررة برمجيًا. تتضمن هذه المهام الوصول إلى الملفات ونسخها ونقلها وحذفها وضغطها.

هناك طريقة أخرى يمكنك بها أتمتة المهام المتكررة وهي استخدام أوامر النظام في ملف البرنامج النصي. في نظامي Linux و macOS ، تُعرف هذه الملفات باسم برامج shell النصية ، بينما يشير إليها Windows على أنها برامج نصية مجمعة.