Lectura y escritura aleatorias de lectura en Java
El paquete Java.io proporciona la clase RandomAccessFile para la creación y acceso de archivos aleatorios. Usando esta clase, puede saltar a cualquier ubicación del archivo para leer y escribir datos. El programa puede insertar datos en un archivo aleatorio sin destruir otros datos en ese archivo. Además, el programa también puede actualizar o eliminar datos previamente almacenados sin reescribir todo el archivo.
La clase RandomAccessFile es una subclase directa de la clase de objeto y contiene dos constructores principales utilizados para crear objetos de RandomAccessFile, como se muestra en la tabla.
Cabe señalar que el modo representa el estado de operación del archivo de lectura y escritura aleatoria creado, y sus valores incluyen:
R: significa abrir el archivo en modo de solo lectura.
RW: significa abrir un archivo de manera lectora.
La siguiente tabla enumera métodos y descripciones comúnmente utilizados de la clase Randowaccessfile.
[Ejemplo] Imite el registro del sistema y escriba datos al final del archivo.
import java.io.*; class EP10_12 {public static void main (string args []) lanza ioexception {try {bufferedReader in = new BufferedReader (new InputSt ReamReader (System.in)); RandomACSSFile myFile = new RandomAccessFile ("EP10_12.Log", "RW"); Escribir datos myFile .close ();
Después de que se ejecute el programa, se crea un archivo de EP10_12.Log en el directorio.
Procesamiento de compresión de archivos en Java
El paquete java.util.zip proporciona clases que pueden procesar la compresión y la descompresión de los archivos, que se heredan de las clases de flujo de byte salidas y inputStream. Entre ellos, GzipoutputStream y ZipoutputStream pueden comprimir los datos en formatos GZIP y ZIP respectivamente, y GzipinpputStream y ZipInputStream pueden restaurar los datos comprimidos.
Los pasos generales para escribir archivos a archivos comprimidos son los siguientes:
Genera un objeto de clase comprimido asociado con el archivo comprimido que se generará.
Los archivos comprimidos generalmente contienen más de un archivo.
Use PutNextEntry (entrada ZipEntry) para agregar la entrada comprimida al archivo comprimido.
Escriba el contenido del archivo en este archivo comprimido.
Use CloseEntry () para finalizar la entrada de compresión actual y continúe con la siguiente entrada de compresión.
Los pasos generales para leer un archivo de un archivo comprimido son los siguientes:
Genera un objeto de clase comprimido asociado con el archivo comprimido para leer.
Use getNextEntry () para obtener la siguiente entrada comprimida.
[Ejemplo] Ingrese varios nombres de archivo, comprimir todos los archivos en "EP10_13.Zip" y luego descomprimir y mostrar desde el archivo comprimido.
import java.io.*; import java.util.*; import java.util.zip.*; class EP10_13 {public static void main (string args []) lanza ioexception {fi leoutputStream a = nuevo fileOutputStream ("EP10_13.ZIP "); // Procesar el archivo comprimido ZipOutputStream out = new ZipOutputStream (new BufferedOutputStream (a)); para (int i = 0; i <args.length; i ++) {// Processing cada archivo ingresado en el sistema de línea de comando. .Println ("Escribir archivo"+args [i]); int b; ) while ((z = inout.getNextEntry ())! = NULL) {// Obtener el sistema de entrada.out.println ("Lectura de lectura"+Z.getName ()); ((x = inout.read ())! =-1) System.out.write (x);
Después de ejecutar, cree un archivo comprimido de EP10_13.ZIP en el directorio de programas y use el software de descompresión (como Winrar, etc.) para abrirlo. En el símbolo del sistema, los resultados de la ejecución del programa se muestran en la figura: