קרא וכתוב קלט משתמש ב- Java
1. הקדמה
במדריך מהיר זה, אנו להדגים מספר דרכים להשתמש בקונסולה לצורך קלט ופלט של משתמשים ב- Java.
נבחן כמה שיטות של ה- סוֹרֵק בכיתה לטיפול בקלט ואז נציג כמה פלט פשוט באמצעות System.out.
לבסוף נראה כיצד להשתמש ב- לְנַחֵם מחלקה, זמין מאז Java 6, גם לקלט וגם לפלט של המסוף.
2. קריאה מ System.in
לדוגמאות הראשונות שלנו, אנו להשתמש ב סוֹרֵק בכיתה ב java.util חבילה להשגת קלט ממנה System.in - זרם הקלט "הסטנדרטי":
סורק סורק = סורק חדש (System.in);
בואו להשתמש ב nextLine () שיטה לקרוא שורה שלמה של קלט כ- חוּט ולהתקדם לשורה הבאה:
שם מחרוזת שם משפחה = scanner.nextLine ();
אנחנו יכולים גם להשתמש ב הַבָּא() שיטה כדי לקבל את אסימון הקלט הבא מהזרם:
מין מחרוזת = scanner.next ();
אם אנו מצפים לתשומות מספריות, נוכל לעשות זאת להשתמש nextInt () כדי לקבל את הקלט הבא בתור int פרימיטיבי, וכמו כן אנו יכולים להשתמש nextDouble () לקבל משתנה מסוג לְהַכפִּיל:
int age = scanner.nextInt (); גובה כפול = scanner.nextDouble ();
ה סוֹרֵק הכיתה מציעה גם hasNext_Prefix () שיטות שחוזרות נָכוֹן אם ניתן לפרש את האסימון הבא כסוג נתונים תואם.
לדוגמא, אנו יכולים להשתמש hasNextInt ()שיטה לבדוק אם ניתן לפרש את האסימון הבא כמספר שלם:
בעוד (scanner.hasNextInt ()) {int nmbr = scanner.nextInt (); // ...}
כמו כן, אנו יכולים להשתמש ב- hasNext (תבנית תבנית) שיטה ל בדוק אם אסימון הקלט הבא תואם לתבנית:
אם (scanner.hasNext (Pattern.compile ("www.baeldung.com"))) {// ...}
מלבד השימוש ב- סוֹרֵק מעמד, אנחנו יכולים גם להשתמש ב- קֶלֶטStreamReader עם System.in כדי לקבל את הקלט מהקונסולה:
BufferedReader buffReader = חדש BufferedReader (InputStreamReader חדש (System.in));
ואז נוכל לקרוא קלט ולנתח אותו למספר שלם:
int i = Integer.parseInt (buffReader.readLine ());
3. כתיבה ל System.out
עבור פלט קונסולה, אנו יכולים להשתמש System.out - מופע של PrintStream מעמד, שהוא סוג של OutputStream.
בדוגמה שלנו, נשתמש בפלט המסוף כדי לספק הנחיה להזנת משתמשים ולהציג הודעה סופית למשתמש.
בואו להשתמש ב println () שיטת הדפסה א חוּט ולסיים את הקו:
System.out.println ("אנא הזן את שמך ואת שם המשפחה שלך:");
לחלופין, אנחנו יכולים להשתמש ב הדפס() שיטה, שעובדת בדומה ל- println (), אבל בלי לסיים את הקו:
System.out.print ("שיהיה לך טוב"); System.out.print ("אחד!");
4. באמצעות לְנַחֵם מחלקה לקלט ופלט
ב- JDK 6 ואילך נוכל להשתמש ב- לְנַחֵם כיתה מ java.io חבילה לקרוא ולכתוב למסוף.
להשיג א לְנַחֵם להתנגד, נתקשר System.console ():
קונסולת קונסולה = System.console ();
לאחר מכן, בואו נשתמש ב- קריאת שורה() שיטת ה- לְנַחֵם כיתה ל כתוב שורה למסוף ואז קרא שורה מהקונסולה:
מחרוזת progLanguauge = console.readLine ("הזן את שפת התכנות המועדפת עליך:");
אם עלינו לקרוא מידע רגיש, כגון סיסמה, נוכל להשתמש ב- readPassword () שיטה ל בקש ממשתמש להזין סיסמה ולקרוא את הסיסמה מהקונסולה עם הדהוד מושבת:
char [] pass = console.readPassword ("לסיום, הזן סיסמה:");
אנחנו יכולים גם להשתמש ב לְנַחֵם בכיתה לכתוב פלט למסוף, למשל באמצעות printf () שיטה עם חוּט טַעֲנָה:
console.printf (progLanguauge + "מאוד מעניין!");
5. מסקנה
במאמר זה, הראינו כיצד להשתמש בכמה מחלקות Java לביצוע קלט ופלט של המשתמש במסוף.
כמו תמיד, דוגמאות הקוד ממדריך זה ניתנות ב- GitHub.