Cómo escribir un programa orientado a disco en java
Java le da la capacidad de escribir un programa orientado a disco. De hecho, a veces es más fácil de utilizar algunos de su código ya existente y añadir un poco de edición simple. Así es cómo:
Agregue las siguientes declaraciones de importación para el comienzo de su código:
importación java.io.File-importación java.io.FileNotFoundException-importación java.io.PrintStream-
Agregue la siguiente cláusula de tiros a la cabecera del método:
lanza FileNotFoundException
En la llamada a nuevo escáner, reemplazar System.in con una llamada a archivo nuevo como sigue:
AVariableName Scanner = new Scanner (new File ("inputfilename"))
Crear un PrintStream para escribir la salida a un archivo de disco:
PrintStream anotherVariableName = new PrintStream ("Nombre del archivo de salida") -
Utilizar el Scanner nombre de la variable en llamadas a nextInt,nextLine, etcétera.
Por ejemplo, cambiaría
precioUnitario = keyboard.nextDouble () - cantidad = keyboard.nextInt () -
a
precioUnitario = diskScanner.nextDouble () - Cantidad = diskScanner.nextInt () -
Utilizar el PrintStream nombre de la variable en llamadas a impresión y println.
Por ejemplo, cambiaría
System.out.println (total) -
a
Diskwriter.println (total) -
Utilizar el Scanner nombre de la variable en la llamada a cerca.
Por ejemplo, cambiaría
keyboard.close () -
a
diskScanner.close () -
Utilizar el PrintStream nombre de la variable en una llamada a cerca.
Por ejemplo, usted agregaría
diskWriter.close () -
al final de principal método.
Lectura de un archivo
Todos Scanner métodos pueden leer archivos de disco existentes. Por ejemplo, para leer una palabra de un archivo llamado mi discurso, usar el código de los siguientes tipos:
Scanner diskScanner = new Scanner (new File ("MySpeech")) - Cadena oneword = diskScanner.next () -
Para leer un personaje de un archivo llamado letters.dat y luego mostrar el carácter en la pantalla, puede hacer algo como esto:
Scanner diskScanner = new Scanner (new File ("letters.dat")) - System.out.println (diskScanner.findWithinHorizon (, 0) .charAt (0) ".") -
El archivo que necesita para leer se llama mi discurso, no mySpeech.txt o mySpeech.doc. Cualquier cosa que se pone después del punto se denomina extensión de archivo, y por un archivo completo de números y otros datos, la extensión del archivo es opcional.
Claro, un programa Java debe ser llamado algo.java, pero un archivo de datos puede ser nombrado mySpeech.txt, mySpeech.reallymine.allmine, o solo mi discurso. Mientras el nombre en su archivo nuevo llamada es el mismo que el nombre del archivo en el disco duro de su ordenador, todo está bien.
Escribir en un archivo
los impresión y println métodos pueden escribir en archivos de disco. Aquí hay unos ejemplos:
Durante una ejecución del código del listado 13-2, la variable total almacena el número 99.75. Para depositar 99.75 en el cookedData.txt archivo, ejecute
diskWriter.println (total) -
Esta println llamada escribe en un archivo de disco debido a la línea siguiente en el listado 13-2:
PrintStream Diskwriter = new PrintStream ("cookedData.txt") -
En otra versión del programa, usted puede decidir no utilizar un total variable. Para escribir a la 99.75 cookedData.txt archivo, puede llamar al
diskWriter.println (precioUnitario * cantidad) -
Mostrar OK en la pantalla, se puede hacer la siguiente llamada al método:
System.out.print ("OK") -
Escribir OK en un archivo denominado approval.txt, puede utilizar el siguiente código:
PrintStream Diskwriter = new PrintStream ("approval.txt") - diskWriter.print ("OK") -
Usted puede decidir a escribir OK como dos caracteres separados. Para escribir en la pantalla, puede realizar las siguientes convocatorias:
System.out.print ("O") - System.out.print ("K") -
Y para escribir OK al approval.txt archivo, puede utilizar el siguiente código:
PrintStream Diskwriter = new PrintStream ("approval.txt") - diskWriter.print ("O") - diskWriter.print ("K") -
Al igual que sus homólogos de System.out, el disco-escritura impresión y println métodos difieren en sus comportamientos de fin de línea. Por ejemplo, desea mostrar el siguiente texto en la pantalla:
Hankees Socks7 3
Para ello, puede hacer las siguientes llamadas a métodos:
System.out.print ("Hankees") -System.out.println ("Calcetines") - System.out.print (7) -System.out.print ("") -System.out.println (3) -
Para plantar el mismo texto en un archivo denominado scores.dat, puede utilizar el siguiente código:
PrintStream Diskwriter = new PrintStream ("scores.dat") - diskWriter.print ("Hankees") -diskWriter.println ("Calcetines") - diskWriter.print (7) -diskWriter.print ("") -diskWriter.println ( 3) -