Presentar entregable (java.io El paquete)
Para el funcionamiento del archivo de clase.
Los métodos comunes: 1 Constructores :. Pública de archivos ( cadena de nombre de ruta); // ruta del archivo de entrada y el nombre;
2.public booleano isFile (); // determina si la ruta de entrada del archivo;
createNewFile booleano 3.public () throws IOException; // crear un archivo, si existe el archivo de creación fracasó y corrientes IO no son lo mismo;
4. pública booleano la isDirectory (); // determina si la ruta de entrada a la carpeta;
5. públicas booleanos mkdirs (); // crear el directorio de niveles múltiples, si el directorio existe falla la creación;
6. pública booleano la eliminación (); // eliminar falsas fracasado retorno;
7. pública vacío deleteOnExit (); // borrar el archivo especificado al salir del programa;
8. El público de Boole EXISTE (); // determinar el archivo o carpeta que existe;
Empaquetar second.study; Importación java.io.BufferedWriter; Importación java.io.File; Importación java.io.FileWriter; Importación java.io.IOException; Importación de java.util.ArrayList; Importación java.util.List; / ** * la ruta absoluta de la carpeta almacenados en el archivo especificado * * @param args * / público de clase Test { públicas estáticas void main (String [] args) lanza IOException { archivo de la dir = nuevo nuevo archivo ( "F .: \\ \\ JAVA_study código " ); Lista <archivo> Lista =nueva nueva ArrayList <Archivo> (); SI (! dir.exists ()) { de banda nueva nuevo una RuntimeException ( "carpeta no existe" ); } file2List (dir, Lista); Archivo desfile = new new File (dir, "dirname.txt " ); list2File (Lista, desFile.toString ()); } / ** * la carpeta de contenido almacenado en el desarrollo de la colección * * @ param dir * @param lista * / pública estática vacío file2List (archivo dir, Lista <archivos> Lista) { archivo [] archivos= Dir.listFiles (); para (Archivo: Archivos) { SI (file.isDirectory ()) { file2List (Archivo, Lista); } else { List.add (Archivo); } } } / ** * lista los archivos almacenados en el archivo especificado * @param Lista * @param desString * / pública estática vacío list2File (Lista <archivo> Lista, cadena desString) { BufferedWriter, BUFW = nula ; el try { bufw= Nuevo BufferedWriter ( nuevo FileWriter (desString)); para (del archivo: lista) { bufw.write (file.getAbsolutePath ()); bufw.newLine (); bufw.flush (); } } Catch (Exception ex) { lanzar nueva RuntimeException ( "目的地文件创建错误" ); } Finalmente { try { si (bufw =! Nula ) bufw.close (); } catch(Exception ex) { de banda nueva nuevo una RuntimeException ( "cerrar el archivo de error de destino" ); } } } }
corriente de objetos (ObjectInputStream, ObjectOutputStream)
Esa es la persistencia de objetos
ObjectInputStream
Método principal: 1 constructor: pública la ObjectInputStream ( InputStream in) lanza IOException ; // corriente asociado con el archivo de objeto;
2. Objeto final readObject pública () throws IOException, ClassNotFoundException; // leer el archivo de objeto;
ObjectOutputStream
Método principal: 1 constructor: pública la ObjectOutputStream ( OutputStream OUT) throws IOException ; // la corriente asociada con el archivo de objeto;
2. público final sin efecto la writeObject ( Object obj) throws IOException ; // objeto se escribe en un archivo;
Pena de paquete para second.study; Importación del java.io.Serializable; público de clase a la Persona del implementos Serializable { // comprensión actual: por lo general no debe ser cubierto, pero no cubrirá el signo de exclamación amarillo eclipse. Privada estática final largo serialVersionUID = 1L ; privada String nombre; // si no desea que el valor de otras secuencias se puede utilizar la palabra clave transitoria. transitorios privada int Edad; // ahora serialización de datos de zona métodos para arriba? estática Cadena País = "CN" ; pública del (String nombre, Persona int Edad, País cadena) { super(); este .name = nombre; este .age = edad; Person.country = país; } @ Override pública Cadena toString () { retorno "Persona [name =" + nombre + "edad =" + edad + "país =" + país + "]" ; } }
empaquetar second.study; importación java.io.FileInputStream; importación java.io.FileOutputStream; importación java.io.ObjectInputStream; importación java.io.ObjectOutputStream; pública clase de prueba { públicas estáticas void main (String [] args) lanza la excepción { writeObj (); readObj (); } Pública estática vacío writeObj () lanza la excepción { ObjectOutputStream OOS = nueva ObjectOutputStream ( nueva FileOutputStream ( "obj.txt")); oos.writeObject ( nueva Persona ( "Zhangsan", 20 "KR" )); oos.close (); } Pública estática vacío readObj () lanza la excepción { ObjectInputStream oin = nueva ObjectInputStream ( nuevo FileInputStream ( "obj.txt" )); Persona p = (Person) oin.readObject (); oin.close (); System.out.println (p); } }
RandomAccessFile
Esta clase no es una subclase de sistema IO, sino directamente hereda la clase Object. Pero es un miembro del paquete de IO, porque tiene que leer y métodos de escritura. Una matriz en el interior del paquete, puede ser operado por medio de elementos de la matriz para obtener la posición getFilePointer del método puntero () , y puede utilizar los seek () conjuntos método la posición del puntero .
métodos principales: 1 Constructores :. Pública RandomAccessFile ( Archivo de archivos, Cadena MODE) lanza FileNotFoundException ; // sólo puede manipular archivos, modo: "r", " rw", "RW", "RWD".
2.构造函数: pública RandomAccessFile ( Cadena nombre, Cadena modo) tiros FileNotFoundException ;
3. pública largo del getFilePointer () throws IOException ; // Obtener posición del puntero
4. pública vacío Seek ( largo POS) throws IOException ; // establecer la posición del puntero
5. El público int los skipBytes ( int n) throws IOException ; // número de bytes a saltar, devuelve el número de bytes realmente saltado
DataInputStream (java.io)
Para el funcionamiento de los tipos de datos básicos. Los tipos de datos básicos se pueden escribir directamente en el archivo sin tener que convertir los tipos de datos básicos en bytes.