English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Hasta Java 1.5Antes de leer datos del usuario programador, dependía de las clases de flujo de caracteres y de bytes.
Desde Java 1.5Comienza a introducir la clase Scanner. Esta clase acepta objetos File, InputStream, Path y String, y lee tokens de todos los tipos de datos primarios y String (desde la fuente dada) uno a uno utilizando expresiones regulares.
Por defecto, los espacios en blanco se consideran delimitadores (que dividen los datos en tokens).
Leer varios tipos de datos provenientes de la fuentenextXXX()
Los métodos proporcionados por esta clase son:nextInt()
,nextShort()
,nextFloat()
,nextLong()
,nextBigDecimal()
,nextBigInteger()
,nextLong()
,nextShort()
,nextDouble()
,nextByte()
,nextFloat()
,next()
.
Puede pasar el objeto Scanner como parámetro a un método.
El siguiente programa Java muestra cómo pasar un objeto Scanner a un método. Este objeto lee el contenido del archivo.
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 { //Instanciar la clase inputStream InputStream stream = new FileInputStream("D:\\sample.txt"); //Instanciar la clase Scanner Scanner sc = new Scanner(stream); ScannerExample obj = new ScannerExample(); //Llamar al método String result = obj.sampleMethod(sc); System.out.println("Contenido del archivo:"); System.out.println(result); } }
Contenido del archivo: oldtoolbag.com surgió de la idea de que existe una clase de lectores que reaccionan mejor a-línea y prefieren aprender nuevas habilidades a su propio ritmo desde la comodidad de sus salas de dibujo.
En el siguiente ejemplo, creamos un objeto Scanner con la entrada estándar (System.in) como fuente y lo pasamos como parámetro al método.
import java.io.IOException; import java.util.Scanner; public class ScannerExample { public void sampleMethod(Scanner sc){ StringBuffer sb = new StringBuffer(); System.out.println("Introduce tu nombre: "); String nombre = sc.next(); System.out.println("Introduce tu edad: "); String edad = sc.next(); System.out.println("Hola "+nombre+"eres "+edad+"años } public static void main(String args[]) throws IOException { //Instanciar la clase Scanner Scanner sc = new Scanner(System.in); ScannerExample obj = new ScannerExample(); //Llamar al método obj.sampleMethod(sc); } }
Introduce tu nombre: Krishna Introduce tu edad: 25 Hola Krishna, eres 25 años