Utilización de la clase escáner en Java , puede leer datos de fuentes externas, tales como archivos de texto. El proceso sólo requiere unos pocos pasos sencillos , pero sí es necesario para adaptar para adaptarse a su propio archivo y programas. La plataforma Java proporciona las bibliotecas estándar que puede utilizar para las operaciones de entrada y salida. Mediante la creación de primera instancias de las clases en estas bibliotecas y el uso de métodos de la clase Scanner para leer el contenido del archivo, puede adquirir el contenido de una manera que se adapte a la lógica de su programa. Instrucciones
1
importar los recursos necesarios de Java para su proceso de entrada. Agregue la siguiente instrucción al principio del archivo de clase Java, la importación de los recursos Java estándar para entrada y salida :
import java.io. * ;
Para utilizar la clase escáner , también es necesario para importar el archivo de clase para ella, por lo que añadir la siguiente declaración de importación adicional :
importación java.util.Scanner ;
Una vez que su programa tiene estas clases importados , puede crear objetos para llevar a cabo las operaciones de entrada como sea necesario .
2
Crear bloques try y catch para cuidar de las excepciones de entrada que pueden ocurrir. Cuando los programas Java leer datos de una fuente externa, corre el riesgo de errores imprevistos , como un archivo de no estar donde debe estar o no tener el contenido correcto en ella. Por esta razón, es necesario incluir el código de procesamiento de la entrada dentro de un bloque try, después de esto con un bloque catch para controlar las excepciones , de la siguiente manera :
try {//tratar de llevar a cabo procesos de entrada aquí } catch ( IOException IOException ) { System.out.println ( ioException.getMessage ()) ;} .
Si el programa produce una excepción , el código se escriben los datos a la salida estándar
3
una instancia de la clase de entrada y de escáner para su operación. Para utilizar un objeto escáner , primero tiene que crear FileReader y objetos BufferedReader . Agregue el siguiente código dentro de su bloque try, cree una instancia de la clase FileReader y pasándole el nombre y la ubicación de su archivo como un parámetro :
FileReader FILEREAD = new FileReader ( " yourfile.txt ") ;
Añada la siguiente línea , la creación de una instancia de la clase BufferedReader , pasando la instancia FileReader como parámetro :
BufferedReader buffRead = new BufferedReader ( FILEREAD ) ;
Crear una instancia de la clase escáner , pasándole el objeto BufferedReader , de la siguiente manera :
escáner FileScan = new escáner ( buffRead ) ;
su programa ya está listo para leer y procesar el contenido de la archivo.
4
Utilice un bucle while para procesar el contenido del archivo . El escáner puede leer el archivo en secciones , por lo que es necesario continuar la lectura hasta que el archivo se ha agotado. Agregue la siguiente estructura de esquema circular dentro de su bloque try, en la línea después de crear el objeto del escáner:
while ( fileScan.hasNext ()) {//lee el contenido del archivo se escribe aquí} //cerrar la scannerfileScan . close () ;
Este bucle seguirá ejecutando hasta que el escáner ha leído todo el contenido del archivo. Dentro del bucle , puede agregar el procesamiento para analizar cada elemento de los datos en el archivo. Una vez que sus acabados de bucle , el escáner ha hecho su trabajo , para que pueda cerrarla.
5
Leer el contenido de su archivo con el escáner . La clase del escáner le ofrece una gama de opciones en términos de cómo se procesa el contenido de su archivo. Usted puede leer el archivo de una línea a la vez, o puede leer bytes individuales y números, con varios tipos numéricos admiten. Para leer el archivo en líneas individuales , agregue el siguiente código dentro del bucle while : String = nextLine fileScan.nextLine ();
Este código almacena una sola línea en el archivo en una variable de cadena cada vez que se ejecuta el bucle . Puede llevar a cabo cualquier tarea que usted necesita utilizar el contenido del archivo dentro del bucle while. (Ver Referencias 1 , 2 )