English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
bis Java 1.5vor dem Lesen von Daten durch den Benutzer-Programmierer hängt alles von den Zeichenzugriffsklassen und den Byte-Stream-Klassen ab.
von Java 1.5Mit dem Einführen der Scanner-Klasse beginnt. Diese Klasse akzeptiert Objekte von File, InputStream, Path und String und liest alle Primärdatentypen und String (aus der angegebenen Quelle) Token nacheinander mit Regular Expressions.
Standardmäßig wird ein Leerzeichen als Trennzeichen betrachtet (daten geteilt in Token).
Lesen verschiedener Datenarten aus QuellennextXXX()
Von den Methoden dieser Klasse bereitgestellt,nextInt()
,nextShort()
,nextFloat()
,nextLong()
,nextBigDecimal()
,nextBigInteger()
,nextLong()
,nextShort()
,nextDouble()
,nextByte()
,nextFloat()
,next()
.
Sie können das Scanner-Objekt als Parameter an eine Methode übergeben.
Die folgende Java-Programm demonstriert, wie ein Scanner-Objekt an eine Methode übergeben wird. Das Objekt liest den Inhalt der Datei.
import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.Scanner; public class ScannerExample { public String sampleMethod(Scanner sc){ StringBuffer sb = new StringBuffer(); while(sc.hasNext()) { sb.append(sc.nextLine()); } return sb.toString(); } public static void main(String args[]) throws IOException { //Instanziierung der InputStream-Klasse InputStream stream = new FileInputStream("D:\\sample.txt"); //Scanner-Klasse instanziieren Scanner sc = new Scanner(stream); ScannerExample obj = new ScannerExample(); //Methode aufrufen String result = obj.sampleMethod(sc); System.out.println("Dateiinhalt:"); System.out.println(result); } }
Dateiinhalt: oldtoolbag.com entstand aus der Idee, dass es eine Klasse von Lesern gibt, die besser auf das reagieren,-Zeile Inhalt und bevorzugen es, neue Fähigkeiten in der eigenen Geschwindigkeit und im Komfort ihrer Wohnzimmer zu erlernen.
Im folgenden Beispiel erstellen wir einen Scanner-Objekt mit Standard-Eingabe (System.in) als Quelle und übergeben es als Parameter an die Methode.
import java.io.IOException; import java.util.Scanner; public class ScannerExample { public void sampleMethod(Scanner sc){ StringBuffer sb = new StringBuffer(); System.out.println("Gib deinen Namen ein: "); String name = sc.next(); System.out.println("Gib dein Alter ein: "); String age = sc.next(); System.out.println("Hallo "+Name+"Du bist "+Alter+"Jahre alt"); } public static void main(String args[]) throws IOException { //Scanner-Klasse instanziieren Scanner sc = new Scanner(System.in); ScannerExample obj = new ScannerExample(); //Methode aufrufen obj.sampleMethod(sc); } }
Gib deinen Namen ein: Krishna Gib dein Alter ein: 25 Hallo Krishna, du bist 25 Jahre alt