Felhasználói bemenet olvasása és írása Java-ban

1. Bemutatkozás

Ebben a gyors bemutatóban megtesszük bemutatja a konzol használatának számos módját a felhasználói bevitelhez és kimenethez Java-ban.

Megnézünk néhány módszert a Scanner osztály a bemenet kezelésére, majd megmutatunk néhány egyszerű kimenetet a használatával System.out.

Végül meglátjuk, hogyan kell használni a Konzol osztály, a Java 6 óta elérhető, mind a konzol beviteléhez, mind kimenetéhez.

2. Felolvasás System.in

Az első példáinkra meg fogjuk tenni használja a Scanner osztály a java.util csomagot a bemenet megszerzéséhez System.in - a „standard” bemeneti adatfolyam:

Szkenner szkenner = új szkenner (System.in);

Nézzük használja a nextLine () metódus a bemenet egész sorának a-ként történő olvasására Húr és lépj a következő sorra:

String nameSurname = szkenner.nextLine ();

Azt is megtehetjük használja a következő() módszer a következő beviteli token megszerzéséhez a patakból:

Karakterlánc nem = scanner.next ();

Ha számszerű bemenetre számítunk, akkor megtehetjük használat nextInt () hogy a következő bemenetet mint int primitív, és hasonlóan megtehetjük használat nextDouble () típusú változó megszerzéséhez kettős:

int age = szkenner.nextInt (); dupla magasság = szkenner.nextDouble ();

A Scanner osztály is kínál hasNext_Prefix () módszerek, amelyek visszatérnek igaz ha a következő token megfelelő adattípusként értelmezhető.

Például használhatjuk hasNextInt ()módszer annak ellenőrzésére, hogy a következő token értelmezhető-e egész számként:

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

Használhatjuk a hasNext (Minta minta) módszer a ellenőrizze, hogy a következő bemeneti token megfelel-e egy mintának:

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

A Scanner osztály, használhatunk egy BemenetStreamReader val vel System.in hogy megkapja a bemenetet a konzolról:

BufferedReader buffReader = új BufferedReader (új InputStreamReader (System.in));

Ezután beolvashatjuk a bevitelt és elemezhetjük egész számra:

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

3. Írás System.out

A konzol kimenetéhez használhatjuk System.out - a PrintStream osztály, amely egyfajta OutputStream.

Példánkban a konzol kimenetét használjuk a felhasználói adatbevitelre való felszólítás megadásához, és a végső üzenet megjelenítéséhez a felhasználó számára.

Nézzük használja a println () módszer a nyomtatáshoz a Húr és fejezze be a vonalat:

System.out.println ("Kérjük, írja be a nevét és vezetéknevét:");

Felváltva tehetjük használja a nyomtatás() módszer, amely hasonlóan működik, mint a println (), de a vonal felmondása nélkül:

System.out.print ("Jó reggelt"); System.out.print ("egy!");

4. A Konzol A bemenet és a kimenet osztálya

A JDK 6 és későbbi verzióiban használhatjuk a Konzol osztály tól java.io csomag, amelyről olvashat és írhat a konzolra.

A Konzol objektum, felhívjuk System.console ():

Konzol konzol = System.console ();

Ezután használjuk a readLine () módszere Konzol osztályba írjon egy sort a konzolra, majd olvasson egy sort a konzolról:

String progLanguauge = console.readLine ("Írja be kedvenc programozási nyelvét:"); 

Ha kényes információkat, például jelszót kell elolvasnunk, használhatjuk a readPassword () módszer a kérje meg a felhasználót a jelszó megadásáról, és olvassa le a jelszót a konzolról, visszakapcsolva:

char [] pass = console.readPassword ("A befejezéshez írja be a jelszót:"); 

Azt is megtehetjük használja a Konzol osztály, hogy kimenetet írjon a konzolra, például a printf () módszer val,-vel Húr érv:

console.printf (progLanguauge + "nagyon érdekes!"); 

5. Következtetés

Ebben a cikkben bemutattuk, hogyan lehet több Java osztályt használni a konzol felhasználói bevitelének és kimenetének végrehajtásához.

Mint mindig, ennek az oktatóanyagnak a kódmintái a GitHubon találhatók.