ישנן משימות רבות שחוזרות על עצמן שעליך לבצע מעת לעת. דוגמה אחת היא אם אתה צריך לבצע שינויים בקביעות בקבצים במחשב המקומי שלך. פעולות אלו יכולות לכלול העתקה, העברה, מחיקה או העברת קבצים לארכיון.
במקום להשלים את המשימות החוזרות הללו באופן ידני, אתה יכול להפוך אותן לאוטומטיות באמצעות תוכנית. אתה יכול לעשות זאת עם קובץ סקריפט בודד, באמצעות אחת משפות התכנות הרבות הזמינות, כגון Java.
כיצד להגדיר את אפליקציית Java
ראשית, ודא שיש לך ערכת הפיתוח של Java SE של אורקל מוּתקָן. לאחר מכן צור יישום פשוט של קונסולת Java:
- צור קובץ בכל מקום במחשב הנקרא SimpleScript.java.
- פתח את הקובץ בעורך טקסט או ב-IDE.
- בחלק העליון של הקובץ, ייבא את מחלקת IOException. זה יאפשר לך לטפל בחריגים הקשורים לקבצים או ל-IO בעת ניסיון לבצע פונקציות מסוימות, כמו העתקת קובץ.
יְבוּא java.io. IOException;
- למטה, הוסף מחלקת Java הראשית וה רָאשִׁי שיטה. השיטה הראשית תפעל כאשר אתה מפעיל את היישום. לעת עתה, פשוט הדפס הודעה כדי לוודא שהתוכנית פועלת כהלכה. לאחר מכן, תוכל להחליף את התוכן של הפונקציה הראשית בכל אחת מהדוגמאות הבאות כדי לבדוק אותן.
מעמדSimpleScript{
פּוּמְבֵּיסטָטִיבָּטֵלרָאשִׁי(מחרוזת ארגומנטים[])זורק IOException {
System.out.println("אפליקציית מסוף פשוטה");
}
} - כדי להפעיל את הסקריפט, התחל באמצעות שורת פקודה כדי לנווט אל המיקום של קובץ ה-Java שלך. לדוגמה, אם אחסנת את הקובץ שלך בשולחן העבודה, הפקודה תהיה:
CD שולחן עבודה
- שמור את הקובץ והשתמש ב- javac פקודה לקמפל אותו. בכל פעם שתבצע שינויים בקובץ, תצטרך להרכיב אותו מחדש javac.
javac SimpleScript.java
- הפעל את האפליקציה:
Java SimpleScript
כיצד לגשת לקבצים מקומיים במחשב שלך
אתה יכול להשתמש במחלקה File כדי לגשת באופן פרוגרמטי לקבצים בספרייה.
- צור תיקיה חדשה, הנקראת NewDirectory, באותה ספרייה כמו קובץ ה-Java שלך. צור כמה קבצים בתוכו - הם יכולים להיות קבצי טקסט ריקים אם תרצה.
- בחלק העליון של יישום ה-Java שלך, ייבא את מחלקה File. זה יאפשר לך לגשת לשיטות מסוימות ולפונקציונליות אחרת הקשורה לקבצי מערכת הפעלה וספריות.
יְבוּא java.io. קוֹבֶץ;
- צור אובייקט קובץ חדש באמצעות הנתיב היחסי לתיקיה החדשה שלך.
ספריית קבצים = חָדָשׁ File("NewDirectory");
- השתמש בפונקציה listFiles() כדי לגשת לרשימה של כל הקבצים בתוך אותה ספרייה.
File[] listOfFiles = directory.listFiles();
ל (קובץ קובץ: listOfFiles) {
System.out.println (קובץ);
} - הידור מחדש והפעל את התוכנית באמצעות ה javac ו java פקודות.
כיצד להעתיק קבצים למיקום אחר
ישנן דרכים רבות להעתיק קבצים. דרך נפוצה להעתיק קבצים (במיוחד לפני Java 7 וחבילת java.nio.file), היא להשתמש במחלקות FileInputStream או FileOutputStream.
- ה FileInputStream class מאפשרת לך לפתוח זרם קלט כדי לקרוא בתים מקובץ.
- ה FileOutputStream class מאפשרת לך לפתוח זרם פלט כדי לכתוב בתים לקובץ.
בעת העתקת קבצים, הרעיון הוא לפתוח זרם קלט ופלט. באמצעות הזרמים האלה, תקרא את הבתים של הקובץ במיקום המקור, ולאחר מכן תכתוב את הבתים האלה למיקום החדש.
דוגמה זו תשתמש ביישום חדש יותר להעתקת קבצים, באמצעות הפונקציה copy() מהמחלקה Files של החבילה java.nio.file. כדי להשתמש בחבילת java.nio.file, עליך להתקין את Java 7 ומעלה.
- בחלק העליון של הקובץ, ייבא את מחלקות הקובץ והנתיב מחבילת java.nio.file.
יְבוּא java.nio.file. קבצים;
יְבוּא java.nio.file. שבילים; - הוסף קובץ חדש בשם FileToCopy.txt באותה ספרייה כמו קובץ ה-Java שלך. בפונקציה main(), הכריז על הנתיב היחסי לקובץ זה.
String copySource = "FileToCopy.txt";
- צור תיקייה חדשה, הנקראת תיקייה חדשה, כדי להעתיק את הקובץ אליו. הוסף את הנתיב היחסי ליעד בפונקציה main() .
String copyDestination = "NewFolder/FileToCopy.txt";
- השתמש בשיטת copy() כדי להעתיק את הקובץ מהמקור שלו אל היעד.
לְנַסוֹת {
Files.copy (Paths.get (copySource), Paths.get (copyDestination));
} לתפוס(חריג ה) {
System.out.println("לא ניתן היה להעתיק את קובץ המפרט ב: " + copyDestination
+ ". חשבון אם התיקיה או הקובץ כבר קיימים.");
} - הידור מחדש והפעל את התוכנית באמצעות ה javac ו java פקודות.
- פתח את התיקיה החדשה כדי לאשר שהתוכנית העתקה את הקובץ שלך.
כיצד להעביר קבצים או תיקיות
אתה יכול להעביר קבצים או תיקיות באמצעות מהלך \ לזוז \ לעבור() פונקציה במחלקה Files, שהיא גם חלק מחבילת java.nio.file.
- צור תיקיה חדשה בשם DirectoryToMove באותה תיקיה כמו קובץ ה-Java שלך.
- צור תיקיה שנייה בשם NewDirectory באותה תיקייה. זה המקום אליו התוכנית תעביר את התיקיה המקורית.
- צור אובייקטי קובץ עבור הספרייה שברצונך להעביר, והמיקום שאליו ברצונך להעביר אותו:
קובץ moveSource = חָדָשׁ File("DirectoryToMove");
קובץ moveDestination = חָדָשׁ File("NewDirectory/DirectoryToMove"); - להשתמש ב Files.move() שיטה להעביר את הקובץ מהמקור ליעד:
לְנַסוֹת {
Files.move (moveSource.toPath(), moveDestination.toPath());
System.out.println("הספרייה הועברה בהצלחה.");
} לתפוס (IOException ex) {
ex.printStackTrace();
} - הידור מחדש והפעל את התוכנית באמצעות ה javac ו java פקודות.
- פתח את התיקיה NewDirectory כדי לראות שהתיקיה "DirectoryToMove" נמצאת כעת בפנים.
כיצד למחוק קובץ
אתה יכול להשתמש ב לִמְחוֹק() שיטה מהמחלקה File כדי למחוק קובץ מסוים.
- צור קובץ בשם FileToDelete.txt. שמור את הקובץ באותה תיקיה כמו אפליקציית Java שלך.
- צור אובייקט File חדש עבור הקובץ שברצונך למחוק. לאחר מכן, השתמש בשיטת delete() שלו כדי למחוק את הקובץ. שיטת המחיקה מחזירה ערך אמיתי או שקר, תלוי אם המחיקה הצליחה.
קובץ fileToDelete = חָדָשׁ File("FileToDelete.txt");
אם (fileToDelete.delete()) {
System.out.println("הקובץ נמחק בהצלחה.");
} אַחֵר {
System.out.println("לא ניתן למחוק את הקובץ.");
}
כיצד לדחוס קבצים
ישנן דרכים רבות ליצור ארכיון zip מכיל מספר קבצים דחוסים. דוגמה זו תשתמש ב- ZipOutputStream ו ZipEntry שיעורים.
- ייבא את המחלקות הנחוצות ZipOutputStream, ZipEntry ו-FileOutputStream בראש הקובץ.
יְבוּא java.util.zip. ZipOutputStream;
יְבוּא java.util.zip. ZipEntry;
יְבוּא java.io. FileOutputStream; - צור את קובץ ה-zip ורשימה של אובייקטי zipEntry המייצגים את קובצי הטקסט שברצונך לדחוס. דוגמה זו תיצור קבצי טקסט חדשים, אך תוכל לשנות את הסקריפט מאוחר יותר כך שיכלול קובצי טקסט שכבר קיימים.
קובץ zipFile = חָדָשׁ File("ZippedFile.zip");
ZipEntry[] zipEntries = חָדָשׁ ZipEntry[] {חָדָשׁ ZipEntry("zipFile1.txt"),
חָדָשׁ ZipEntry("zipFile2.txt"), חָדָשׁ ZipEntry("zipFile3.txt"}); - צור את זרם הפלט של ה-zip כדי לכתוב נתונים לקובץ ה-zip.
ZipOutputStream out = חָדָשׁ ZipOutputStream(חָדָשׁ FileOutputStream (zipFile));
- הוסף כל קובץ לתיקיית ה-zip וסגור את הזרם.
ל (ZipEntry zipEntry: zipEntries) {
out.putNextEntry (zipEntry);StringBuilder sb = חָדָשׁ StringBuilder();
sb.append("תוכן בתוך קובץ טקסט");בייט[] data = sb.toString().getBytes();
out.write (נתונים, 0, data.length);
out.closeEntry();
}out.close();
- הידור מחדש והפעל את התוכנית באמצעות ה javac ו java פקודות. תראה את תיקיית ה-zip החדשה מופיעה בספריית הקבצים שלך.
אוטומציה של משימות פשוטות עם Java
אתה יכול להשתמש בסקריפט כדי להשלים משימות חוזרות ונשנות של מנהל קבצים באופן תכנותי. משימות אלה כוללות גישה, העתקה, העברה, מחיקה וריחוס של קבצים.
דרך נוספת שבה תוכל להפוך משימות חוזרות לאוטומטיות היא באמצעות פקודות מערכת בקובץ סקריפט. ב-Linux וב-macOS, קבצים כאלה ידועים בתור סקריפטים של מעטפת, בעוד ש-Windows מתייחס אליהם כ-batch scripts.