logo

כיצד לנקות מסך ב-Java

ב-Java, כאשר אנו קומפילים ומריצים תוכניות Java , הקונסולה או המסך מסתבכים עם הרבה פקודות ופלט. כדי לצמצם או לנקות את תוכן הבלגן של הקונסולה, אנחנו צריכים נקה את המסך ב-Java כדי שנוכל להפעיל תוכניות בצורה נכונה. בחלק זה נלמד כיצד לנקות את המסוף או המסך ב-Java.

ישנן הדרכים הבאות לנקות מסך או מסוף Java :

שימוש בקוד Escape של ANSI

רצף בריחה של ANSI הוא איתות סטנדרטי בתוך הרצועה לשליטה במיקום הסמן. בדוגמה הבאה, השתמשנו בקוד הבריחה 33[H33[2J. בואו נשבור את הקוד ונבין אותו בנפרד.

    33:הוא מייצג את דמות הבריחה של ASCII. ערך ה-ANSI שלו הוא 27. זה מייצג יציאה .[:הוא מייצג את רצף הבריחה. זה ידוע גם בשם CSI (מחוון רצף בקרה). הפקודה CSI מתחילה עם יציאה[ ואחריו אפס פרמטרים או יותר.

בשילוב הקודים לעיל, אנו מקבלים 33[ אוֹ יציאה[.

    33[H:זה מזיז את הסמן בפינה השמאלית העליונה של המסך או המסוף.33[2J:זה מנקה את המסך מהסמן לסוף המסך.

בואו נשלב את שני הקודים לעיל, אנחנו מבינים 33[H33[2J. שילוב הקוד מנקה את המסך או הקונסולה.

פקודות CSI משתמשות בערכי ברירת המחדל אם לא נציין פרמטר כלשהו בפקודה. נוכל להשתמש בקוד הבא כדי לנקות את המסך ב-Java:

ClearScreenExample1.java

 public class ClearScreenExample1 { public static void main(String[] args) { System.out.print('33[H33[2J'); System.out.flush(); } } 

בדוגמה שלמעלה, השתמשנו באותו קוד (33[H33[2J) שהסברנו למעלה. זה מנקה את הקונסולה. השתמשנו גם ב- סומק() פונקציה המאפסת את מיקום הסמן בחלק העליון של המסך.

קבל תאריך נוכחי ב-java

שימוש בפקודה ספציפית לפלטפורמה

אנו יכולים גם להשתמש בפקודה בהתאם לפלטפורמה בה אנו משתמשים. בשיטה זו, ראשית, אנו מקבלים את המאפיין של המערכת על ידי שימוש ב- getProperty() שיטת המחלקה System. לאחר מכן, אנו בוחרים את הפקודה המשמשת בפלטפורמה כדי לנקות את המסוף.

שיטת System.getProperty()

זוהי השיטה הסטטית של המחלקה System. הוא משמש כדי לקבל את מאפיין המערכת המצוין על ידי המפתח שצוין. זה מנתח פרמטר מַפְתֵחַ מסוג String. זה מציין את השם של מאפיין המערכת. זה מחזיר את המאפיין של המערכת ו

תחביר:

 public static String getProperty(String key) 

זה זורק את החריגים הבאים:

    חריג אבטחה:אם קיים מנהל אבטחה ושיטה שלו checkPropertyAccess() אינה מאפשרת גישה למאפיין המערכת שצוין.NullPointerException:זה זורק את החריג אם לא נציין את המפתח null.חריג טיעון לא חוקי:זה זורק את החריג אם המפתח ריק.

בואו ניצור תוכנית Java שמנקה את המסוף באמצעות הפקודה הספציפית לפלטפורמה.

ClearScreenExample2.java

 public class ClearScreenExample2 { public final static void clearConsole() { public static void main(String[] args) { try { final String os = System.getProperty('os.name'); if (os.contains('Windows')) { Runtime.getRuntime().exec('cls'); } } catch (final Exception e) { e.printStackTrace(); } } 

בדוגמה לעיל, ציינו את ה חלונות מערכת ההפעלה והפקודה המשמשת לניקוי המסוף היא cls . אנו יכולים גם להשתמש בקוד הבא בתוכנית לעיל:

 public final static void clearConsole() { try { final String os = System.getProperty('os.name'); if (os.contains('Windows')) { Runtime.getRuntime().exec('cls'); } else { Runtime.getRuntime().exec('clear'); } } catch (final Exception e) { e.printStackTrace(); } } 

שימוש ב-Command Line Interpreter

בשיטה זו, אנו מפעילים את מתורגמן שורת הפקודה (CMD). לאחר הפעלת המתורגמן מבצע את cls פקודה. זה מאפשר ביצוע הפקודות המובנות. כעת עלינו לחבר את ערוץ הפלט של המתורגמן עם ערוץ הפלט של תהליך Java. ניתן לעשות זאת על ידי שימוש בשיטת inheritIO() .

ClearScreenExample3.java

 import java.io.IOException; public class ClearScreenExample3 { public static void main(String... arg) throws IOException, InterruptedException { new ProcessBuilder('cmd', '/c', 'cls').inheritIO().start().waitFor(); } } 

ברגע שהתוכנה לעיל מתחברת למסוף, היא מתחילה משורת פקודה ללא הפניית פלט ומנקה את המסך או המסוף.