Programación Java: la lectura de un archivo

Muchos programas Java leer caracteres desde el teclado del ordenador. Estos programas utilizan cosas como Scanner, System.in, y nextDouble - cosas definidos en la API de Java. los DoPayroll programa en este anuncio pone un nuevo giro a esta historia. En lugar de leer caracteres desde el teclado, el programa lee los personajes de la EmployeeInfo.txt archivo. El archivo vive en el disco duro de su ordenador.

importación java.util.Scanner-importación java.io.File-importación clase java.io.IOException pública DoPayroll {principales (String args []) void estáticos públicos throws IOException {Scanner diskScanner = new Scanner (new File ("EmployeeInfo. txt ")) - for (int empnum = 1- empnum lt; = 3- empnum ++) {payOneEmployee (diskScanner) -} diskScanner.close () -} payOneEmployee (aScanner Scanner static void) {Empleado anEmployee = new Employee()-anEmployee.setName(aScanner.nextLine())-anEmployee.setJobTitle(aScanner.nextLine())-anEmployee.cutCheck(aScanner.nextDouble())-aScanner.nextLine()-}}

Para leer caracteres desde un archivo, utiliza algunas de las mismas cosas que le ayudan a leer caracteres desde el teclado. Tu usas Scanner, nextDouble, y otras golosinas. Pero además de estas golosinas, tiene algunos obstáculos adicionales para saltar. He aquí una lista:

  • Necesitas un archivo nuevo objeto. Para ser más precisos, se necesita una nueva instancia de la API Archivo clase. Usted consigue esta nueva instancia con código como

    nuevo archivo ("EmployeeInfo.txt")

    Las cosas entre comillas es el nombre de un archivo - un archivo en el disco duro de su ordenador. El archivo contiene caracteres.

    En este punto, la terminología hace una montaña de un grano de arena. Seguro, las frases archivo nuevo objeto y archivo nuevo ejemplo aparecer, pero todo lo que estamos haciendo es hacer nuevo archivo ("EmployeeInfo.txt") presentarse a un archivo en su disco duro. Después usted empuja nuevo archivo ("EmployeeInfo.txt") dentro nuevo escáner,

    Scanner diskScanner = new Scanner (new File ("EmployeeInfo.txt")) -

    usted puede olvidarse de la archivo nuevo negocio. A partir de ese momento en el código, diskScanner representa el EmployeeInfo.txt nombre del archivo en el disco duro de su ordenador. (El nombre diskScanner representa un archivo en el disco duro del mismo modo, en los ejemplos anteriores, el nombre teclado representa los botones que se presionan día tras día de salida.)

    Creando un archivo nuevo objeto en la lista es como la creación de un nuevo empleado objetar más tarde en la misma lista. La única diferencia es que el Empleado y Cuenta clases se definen en los ejemplos de este libro. los Archivo clase se define en la API de Java.

    Cuando se conecta a un archivo de disco con nuevo escáner, no se olvide de la archivo nuevo parte. Si se escribe nuevo escáner ("EmployeeInfo.txt") sin archivo nuevo, el compilador no le importará. (Usted no recibirá una advertencia o mensaje de error antes de ejecutar el código.) Pero cuando se ejecuta el código, usted no conseguirá nada como los resultados que espera obtener.

  • Usted debe referirse a la Archivo clase por su nombre completo - java.io.File. Usted puede hacer esto con una declaración de importación como el que en el anuncio. Como alternativa, puede estorbar encima de su código con una declaración como

    DiskScanner Scanner = new Scanner (nueva java.io.File ("EmployeeInfo.txt")) -
  • Necesitas un throws IOException cláusula. Muchas cosas pueden ir mal cuando el programa se conecta a EmployeeInfo.txt. Por un lado, el disco duro puede no haber un archivo llamado EmployeeInfo.txt.

  • Por otro, el archivo EmployeeInfo.txt puede estar en el directorio equivocado. Para prepararse para este tipo de calamidad, el lenguaje de programación Java toma ciertas precauciones. El lenguaje insiste en que cuando un archivo de disco está implicado, usted reconoce los posibles peligros de la llamada nuevo escáner.

    Puede reconoce los peligros de varias maneras posibles, pero la forma más sencilla es utilizar un tiros cláusula. En el perfil, la principal cabecera del método termina con las palabras throws IOException. Mediante la adición de estas dos palabras, que apaciguar al compilador Java.

    Es como si usted está diciendo " sé que llamar nuevo escáner puede llevar a problemas. Usted no tiene que recordarme ". Y, efectivamente, añadiendo throws IOException para usted principal método mantiene el compilador de las protestas. (Sin esto tiros cláusula, se obtiene una excepción no declarada mensaje de error.)




» » » » Programación Java: la lectura de un archivo