Læs og skriv brugerinput i Java

1. Introduktion

I denne hurtige vejledning vil vi demonstrere flere måder at bruge en konsol til brugerinput og output i Java.

Vi ser på et par metoder til Scanner klasse til håndtering af input, og så viser vi nogle enkle output ved hjælp af System.out.

Endelig vil vi se, hvordan du bruger Konsol klasse, tilgængelig siden Java 6, til både konsolinput og output.

2. Læsning fra System.in

For vores første eksempler vil vi brug Scanner klasse i java.util pakke for at få input fra System.in - "standard" -indgangsstrømmen:

Scannerscanner = ny scanner (System.in);

Lad os brug næste linje () metode til at læse en hel linje af input som en Snor og gå videre til næste linje:

Strengnavn Efternavn = scanner.nextLine ();

Det kan vi også brug Næste() metode til at få det næste input token fra strømmen:

Streng køn = scanner.next ();

Hvis vi forventer numeriske input, kan vi brug næsteInt () for at få det næste input som en int primitiv, og på samme måde kan vi brug næsteDobbelt () for at få en variabel af typen dobbelt:

int age = scanner.nextInt (); dobbelt højde = scanner.nextDouble ();

Det Scanner klasse tilbyder også hasNext_Prefix () metoder, der vender tilbage rigtigt hvis det næste token kan fortolkes som en tilsvarende datatype.

For eksempel kan vi bruge hasNextInt ()metode til at kontrollere, om det næste token kan fortolkes som et heltal:

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

Vi kan også bruge hasNext (Mønster mønster) metode til Kontroller, om følgende input-token matcher et mønster:

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

Udover at bruge Scanner klasse, vi kan også bruge en IndgangStreamReader med System.in for at få input fra konsollen:

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

Og så kan vi læse input og parse det til et heltal:

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

3. Skrivning til System.out

Til konsoloutput kan vi bruge System.out - en forekomst af PrintStream klasse, som er en type OutputStream.

I vores eksempel bruger vi konsoloutput til at give en prompt til brugerinput og vise en endelig besked til en bruger.

Lad os brug println () metode til at udskrive en Snor og afslut linjen:

System.out.println ("Indtast dit navn og efternavn:");

Alternativt kan vi brug Print() metode, der fungerer på samme måde som println (), men uden at afslutte linjen:

System.out.print ("Hav en god"); System.out.print ("en!");

4. Brug af Konsol Klasse for input og output

I JDK 6 og senere kan vi bruge Konsol klasse fra java.io pakke at læse fra og skrive til konsollen.

For at få en Konsol objekt, vi ringer System.console ():

Konsolkonsol = System.console ();

Lad os derefter bruge readLine () metode til Konsol klasse til skriv en linje til konsollen og læs derefter en linje fra konsollen:

String progLanguauge = console.readLine ("Indtast dit foretrukne programmeringssprog:"); 

Hvis vi har brug for at læse følsomme oplysninger, f.eks. En adgangskode, kan vi bruge readPassword () metode til bede en bruger om en adgangskode og læse adgangskoden fra konsollen med ekko deaktiveret:

char [] pass = console.readPassword ("For at afslutte skal du indtaste adgangskode:"); 

Det kan vi også brug Konsol klasse til at skrive output til konsollen, for eksempel ved hjælp af printf () metode med en Snor argument:

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

5. Konklusion

I denne artikel viste vi, hvordan du bruger flere Java-klasser til at udføre konsolbrugerinput og -output.

Som altid leveres kodeeksemplerne fra denne vejledning på GitHub.


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