Programa de ejemplo:
1. Utilice el escáner para leer datos enteros o flotantes desde el teclado
2. Utilice BufferedReader para leer una cadena del teclado y escribirla en el archivo abc.txt
Descripción de la clase de escáner JDK1.5
Scanner es una nueva clase agregada en SDK1.5, pero puede usar esta clase para crear un objeto.
Lector de escáner = nuevo escáner (System.in);
Luego, el objeto lector llama a los siguientes métodos (funciones) para leer varios tipos de datos ingresados por el usuario en la línea de comando:
next.Byte(),nextDouble(),nextFloat,nextInt(),nextLine(),nextLong(),nextShot()
Utilice el método nextLine() para ingresar una línea que pueda contener espacios. Si está leyendo una palabra, puede llamar al método .next().
3. La diferencia entre escáner y BufferedReader
Al ingresar datos en un programa en modo de línea de comando, podemos usar el objeto de cadena de entrada estándar System.in. Sin embargo, no lo usamos directamente porque el método de lectura proporcionado por System.in solo puede leer una palabra a la vez. sección de datos, y lo que solemos usar es leer una cadena o un número, por lo que las funciones que nos proporciona el método read no nos sirven de mucho.
En Java SE 6, puede usar la clase Scanner para obtener la entrada del usuario. La clase Scanner se encuentra en el paquete java.util. Si desea usar Scanner para obtener la entrada del usuario, debe agregar el import java.util.Scanner; declaración de .import La función es decirle al compilador que utilizará la clase Scanner en el paquete java.util.
Veamos un ejemplo:
Ejecute el programa anterior y verá que la cadena que ingresó se mostrará como se muestra a continuación.
Echemos un vistazo al significado de cada declaración en este programa:
nuevo significa crear un objeto en el programa, nuevo significa crear un escaneo de objetos de la clase Scanner, pero al crear un objeto de la clase Scanner, debe usar System.in como parámetro. in El soporte del objeto, System.in, obtiene el contenido ingresado por el usuario y se lo entrega al Scanner para que lo procese.
Se proporcionan varios métodos en la clase Scanner:
siguiente(): obtiene una cadena;
nextInt(): convierte la cadena obtenida en un número entero de tipo int;
nextFloat(): convierte la cadena obtenida en tipo flotante;
nextBoolean(): convierte la cadena obtenida en tipo booleano;
Es muy conveniente usar Scanner para obtener la entrada del usuario, pero Scanner obtiene la entrada según el carácter de espacio, incluida la tecla de espacio, la tecla Tab y la tecla Enter. Cuando se presiona cualquiera de estas teclas, Scanner volverá a la siguiente entrada. ingresas Cuando hay espacios en medio del contenido, obviamente, usar Scanner no puede obtener completamente la cadena que ingresas. En este momento, podemos considerar usar la clase BufferedReader para obtener la entrada. En las versiones 1.4 y anteriores, el método Scanner aún no se proporciona y también utilizamos BufferReader al obtener entradas.
La clase BufferedReader se encuentra en el paquete java.io, por lo que para utilizar esta clase es necesario introducir el paquete java.io: import java.io.BufferedReader.
El método readLine () que utiliza el objeto BufferedReader debe manejar la excepción java.io.IOException (Exception).
Usar BufferedReader para obtener información es mucho más complicado de entender, pero este método es fijo, simplemente siga el mismo método antes de cada uso.
BufferedReader buffer = nuevo BufferedReader (nuevo InputStreamReader (System.in));
Texto de cadena = buffer.readLine();
El método readLine() devolverá todos los caracteres ingresados por el usuario antes de presionar la tecla Enter, excluyendo el último carácter devuelto de la tecla Enter.
El programa de muestra completo es el siguiente:
}
4. Como se muestra en el siguiente programa: clase StringTest
Ingrese el contenido después de la declaración de ejecución: java + nombre de clase, y args lo recibirá.
Porque args recibe parámetros de línea de comando.