Čitanje i pisanje korisničkog unosa na Javi

1. Uvod

U ovom brzom uputstvu ćemo demonstrirati nekoliko načina korištenja konzole za korisnički unos i izlaz u Javi.

Imat ćemo nekoliko metoda Skener klase za rukovanje unosom, a zatim ćemo prikazati neke jednostavne izlaze pomoću System.out.

Napokon, vidjet ćemo kako koristiti Konzola klasa, dostupna od Jave 6, za ulaz i izlaz konzole.

2. Čitanje iz System.in

Za naše prve primjere ćemo koristiti Skener razred u java.util paket za dobivanje podataka od System.in - "standardni" ulazni tok:

Skener skenera = novi skener (System.in);

Idemo koristiti nextLine () metoda za čitanje cijelog retka unosa kao a Niz i pređite na sljedeći redak:

String nameSurname = scanner.nextLine ();

Možemo i mi koristiti Sljedeći() metoda za dobivanje sljedećeg ulaznog tokena iz potoka:

Niz spoja = scanner.next ();

Ako očekujemo numeričke unose, možemo koristiti nextInt () da biste dobili sljedeći ulaz kao int primitivno, i, slično tome, možemo koristiti nextDouble () da se dobije varijabla tipa dvostruko:

int age = scanner.nextInt (); dvostruka visina = scanner.nextDouble ();

The Skener klasa također nudi hasNext_Prefix () metode koje se vraćaju pravi ako se sljedeći token može protumačiti kao odgovarajući tip podataka.

Na primjer, možemo koristiti hasNextInt ()metoda za provjeru može li se sljedeći token protumačiti kao cijeli broj:

while (scanner.hasNextInt ()) {int nmbr = scanner.nextInt (); // ...}

Također, možemo koristiti hasNext (uzorak uzorka) metoda za provjerite odgovara li sljedeći ulazni token uzorku:

if (scanner.hasNext (Pattern.compile ("www.baeldung.com"))) {// ...}

Osim korištenja Skener razred, možemo koristiti i UlazniStreamReader s System.in da biste dobili ulaz s konzole:

BufferedReader buffReader = novi BufferedReader (novi InputStreamReader (System.in));

A onda možemo pročitati ulaz i raščlaniti ga na cijeli broj:

int i = Integer.parseInt (buffReader.readLine ()); 

3. Pisanje u System.out

Za izlaz konzole možemo koristiti System.out - primjerak PrintStream razred, što je vrsta Izlazni tok.

U našem primjeru koristit ćemo izlaz konzole za pružanje upita za unos korisnika i prikazivanje konačne poruke korisniku.

Idemo koristiti println () metoda za ispis a Niz i prekinuti liniju:

System.out.println ("Molimo unesite svoje ime i prezime:");

Naizmjence možemo koristiti ispis () metoda koja djeluje slično kao println (), ali bez prekida linije:

System.out.print ("Have a good"); System.out.print ("jedan!");

4. Korištenje Konzola Klasa za ulaz i izlaz

U JDK 6 i novijim verzijama možemo koristiti Konzola razred iz java.io paket za čitanje i pisanje na konzolu.

Da biste dobili a Konzola objekt, nazvat ćemo System.console ():

Konzola konzole = System.console ();

Dalje, upotrijebimo readLine () metoda Konzola razred do napišite redak na konzolu, a zatim pročitajte redak s konzole:

Niz progLanguauge = console.readLine ("Unesite svoj omiljeni programski jezik:"); 

Ako trebamo pročitati osjetljive podatke, poput lozinke, možemo koristiti readPassword () metoda za zatražite od korisnika lozinku i pročitajte je s konzole s onemogućenim odjekom:

char [] pass = console.readPassword ("Za završetak unesite lozinku:"); 

Možemo i mi koristiti Konzola klase za pisanje izlaza na konzolu, na primjer, pomoću printf () metoda s Niz argument:

console.printf (progLanguauge + "vrlo je zanimljivo!"); 

5. Zaključak

U ovom smo članku pokazali kako koristiti nekoliko Java klasa za izvođenje unosa i izlaza korisnika konzole.

Kao i uvijek, uzorci koda iz ovog vodiča nalaze se na GitHubu.