io clases del paquete:
- Para leer y escribir archivos en el sistema de archivos local: FileInputStream y FileOutputStream
- Descripción de archivos del sistema de archivos local o directorio: Archivo, FileDescriptor y FilenameFilter
- Proporcionar acceso aleatorio al archivo de soportes sistema de archivos local: RandomAccessFile
de lectura y escritura secuencial:
clase FileInputStream se utiliza para abrir un archivo de entrada, para abrir el archivo no existe, un FileNotFoundException excepción, esto es una excepción, debe ser capturado o declarar una no operativa abandonar;
En la clase InputStream, el método read()
proporciona tres métodos de los datos leídos de la corriente:
int read()
: Leer un byte del flujo de entrada, formando devuelve un entero entre 0 a 255 (un método abstracto)int read(byte b[])
: Un cierto número de bytes leídos de la corriente de entrada, y los almacena en la matriz de tampónb
son.int read(byte b[],int off,int len)
: Longitud lee del flujo de entrada delen
datos, la escritura matrizb
de índice deoff
posición de inicio, y la lectura retorna logra el número de bytes.
Para estos tres métodos, si devuelve -1, indicando el final de la secuencia, de lo contrario, devuelve el número de caracteres en realidad leer.
constructor del archivo:
// un directorio parámetro de ruta F1 Archivo = new new File ( " / Inicio / Proyectos / " ); // objeto tiene dos parámetros - la ruta y el nombre de archivo del archivo F2 = new new File ( " / Inicio / Proyectos / " , " Un .bat " ); // punto de ruta del archivo F1 y nombre del archivo F3 = archivo nuevo nuevo archivo (f1, " a.bat " );
código de lectura de ficheros:
File = el FileReader nuevo nuevo la (FileReader "ruta de archivo de almacenamiento " ); // declarar un archivo de flujo de entrada de archivo, y la ruta del archivo especificado en el sistema para facilitar el posicionamiento int datos = 0 ; // declara una variable de número entero para el almacenamiento de lectura datos tomados mientras que ((datos = File.read ()) = - . 1 ) { // read () del bucle while continúa leyendo método de archivo, los datos se asigna a los datos en // Si la lectura falla o al final, se devuelve -1, el valor de retorno especial puede ser identificado como el final de la lea el Sistema. OUT .print (( carbón ) de datos); // salidas leen los datos } file.close (); // hay que recordar la lectura después de tomar el final para cerrar el archivo
java.io.IOException importación; Importar un java.io.InputStream; Importar un java.io.OutputStream; pública clase Test { / * * * Todos los contenidos del flujo de entrada a la asignación de flujo de salida * @param en OUT * @ param * IOException @throws * / público vacío de copia (InputStream en el OutputStream OUT ) throws IOException { byte [] = buf nueva nueva byte [ 4096 ]; int len = en .read (buf); // leer un byte es un byte la lectura de flujo de bytes indicador de final es -1 al mismo tiempo (len = - . 1) { A cabo .WRITE (buf, 0 , len); len = en .read (buf); } } Pública estáticas void main (String [] args) throws IOException { // generada automáticamente TODO método trozo de prueba t = nueva prueba (); Sistema. fuera .println ( " 输入字符: " ); t.copy (Sistema. en , System. cabo ); } }
Random leer y escribir:
Clase contenido del archivo RandomAccessFile permite operaciones de lectura y escritura simultáneas a completa, que hereda directamente de objetos y, al mismo tiempo, e implementa la interfaz DataInput DataOutput.
RandomAccessFile proporciona un método para soportar las operaciones de archivos al azar:
readXXX()
Como alternativawriteXXX()
: comoreadInt()
,readLine()
,writeChar()
,writeDouble()
y similares.int skipBytes(int n)
: Mueva el puntero hacia abajo un número de bytes.int length()
: Devuelve la longitud del archivo.long getFilePointer()
: Devuelve un puntero a la posición actual.void seek(long pos)
: Mueva el puntero para llamar a la ubicación deseada.
Al generar un objeto de archivo aleatorio, además del objeto de archivo y nombre de archivo especificado, pero también es necesario especificar el modo de acceso al archivo.
Echar un vistazo a la RandomAccessFile constructor:
RandomAccessFile(File file,String mode) RandomAccessFile(String name,String mode)
valores del modo:
r
: De sólo lectura, las operaciones de escritura tirará IOExceptionrw
: Leer y escribir, se crea el archivo cuando no existe el archivo, el archivo existe, el contenido del archivo originales permanecen sin cambios, el contenido del archivo cambio a través de la escritura.rws
: Abierto para la lectura y la escritura, por"rw"
más requisitos para cada actualización de contenidos o archivos de metadatos se escriben de forma sincronizada con el dispositivo de almacenamiento subyacente.rwd
: Abierto para la lectura y la escritura, por"rw"
más necesario que cada archivo de contenido de actualización se escriben de forma sincronizada con el dispositivo de almacenamiento subyacente.