Les og skriv brukerinngang i Java

1. Introduksjon

I denne raske opplæringen vil vi demonstrere flere måter å bruke en konsoll for brukerinput og -utgang i Java.

Vi tar en titt på noen metoder for Skanner klasse for håndtering av inndata, og så viser vi noen enkle utdata ved hjelp av System.out.

Til slutt får vi se hvordan du bruker Konsoll klasse, tilgjengelig siden Java 6, for både konsollinngang og -utgang.

2. Lesing fra System.in

For våre første eksempler, vil vi bruke Skanner klasse i java.util pakke for å få innspill fra System.in - "standard" inngangsstrøm:

Skannerskanner = ny skanner (System.in);

La oss bruke neste linje () metode for å lese en hel linje med input som en String og gå videre til neste linje:

Strengnavn Etternavn = scanner.nextLine ();

Vi kan også bruke neste () metode for å få neste input token fra bekken:

Strengkjønn = scanner.next ();

Hvis vi forventer numeriske innganger, kan vi bruk nesteInt () for å få neste innspill som en int primitiv, og på samme måte kan vi bruk nextDouble () for å få en variabel av typen dobbelt:

int age = scanner.nextInt (); dobbel høyde = skanner.nextDouble ();

De Skanner klasse tilbyr også hasNext_Prefix () metoder som kommer tilbake ekte hvis neste token kan tolkes som en tilsvarende datatype.

For eksempel kan vi bruke hasNextInt ()metode for å sjekke om neste token kan tolkes som et heltall:

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

Vi kan også bruke hasNext (Mønster mønster) metode til sjekk om følgende inngangstoken samsvarer med et mønster:

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

Foruten å bruke Skanner klasse, vi kan også bruke en InngangStreamReader med System.in for å få innspill fra konsollen:

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

Og så kan vi lese input og analysere det til et helt tall:

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

3. Skrive til System.out

For konsollutgang kan vi bruke System.out - en forekomst av PrintStream klasse, som er en type OutputStream.

I vårt eksempel bruker vi konsollutgang for å gi en melding om brukerinngang og vise en endelig melding til en bruker.

La oss bruke println () metode for å skrive ut en String og avslutte linjen:

System.out.println ("Vennligst skriv inn ditt navn og etternavn:");

Alternativt kan vi bruke skrive ut() metode, som fungerer på samme måte som println (), men uten å avslutte linjen:

System.out.print ("Ha det bra"); System.out.print ("en!");

4. Bruke Konsoll Klasse for inngang og utgang

I JDK 6 og senere kan vi bruke Konsoll klasse fra java.io pakke å lese fra og skrive til konsollen.

For å få en Konsoll motstand, vi ringer System.console ():

Konsollkonsoll = System.console ();

La oss deretter bruke readLine () metoden for Konsoll klasse til skriv en linje til konsollen og les deretter en linje fra konsollen:

String progLanguauge = console.readLine ("Skriv inn ditt favoritt programmeringsspråk:"); 

Hvis vi trenger å lese sensitiv informasjon, for eksempel et passord, kan vi bruke readPassword () metode til be en bruker om passord og lese passordet fra konsollen med ekko deaktivert:

char [] pass = console.readPassword ("For å fullføre, skriv inn passord:"); 

Vi kan også bruke Konsoll klasse for å skrive utdata til konsollen, for eksempel ved å bruke printf () metode med en String argument:

console.printf (progLanguauge + "er veldig interessant!"); 

5. Konklusjon

I denne artikkelen viste vi hvordan du bruker flere Java-klasser til å utføre konsollbrukerinngang og -utgang.

Som alltid blir kodeeksemplene fra denne opplæringen gitt på GitHub.


$config[zx-auto] not found$config[zx-overlay] not found