logo

Manejo de archivos en Java usando FileWriter y FileReader

Las clases Java FileWriter y FileReader se utilizan para escribir y leer datos de archivos de texto (son Flujo de personajes clases). se recomienda no use las clases FileInputStream y FileOutputStream si tiene que leer y escribir información textual, ya que estas son clases de flujo de bytes.
 

escritor de archivos
FileWriter es útil para crear un archivo escribiendo caracteres en él. 

  • Esta clase hereda de la clase OutputStream.
  • Los constructores de esta clase asumen que la codificación de caracteres predeterminada y el tamaño del búfer de bytes predeterminado son aceptables. Para especificar estos valores, construya usted mismo un OutputStreamWriter en un FileOutputStream. 
     
  • FileWriter está diseñado para escribir secuencias de caracteres. Para escribir secuencias de bytes sin formato, considere utilizar FileOutputStream.
  • FileWriter crea el archivo de salida si aún no está presente.


Constructores:  



    FileWriter (archivo de archivo) -Construye un objeto FileWriter dado un objeto File.FileWriter (anexo booleano de archivo) -construye un objeto FileWriter dado un objeto File.FileWriter (FileDescriptor fd) -construye un objeto FileWriter asociado con un descriptor de archivo.FileWriter (nombre de archivo de cadena) -construye un objeto FileWriter dado un nombre de archivo.FileWriter (anexo booleano de nombre de archivo de cadena) -Construye un objeto FileWriter dado un nombre de archivo con un valor booleano que indica si se deben agregar o no los datos escritos.


Métodos:  

    escritura nula pública (int c) lanza IOException -Escribe un solo carácter.La escritura pública vacía (char [] agitación) arroja IOException -Escribe una serie de caracteres.escritura nula pública (String str) lanza IOException -Escribe una cadena.escritura pública vacía (String str int apagado int len) lanza IOException - Escribe una porción de una cadena. Aquí off es el desplazamiento a partir del cual comenzar a escribir caracteres y len es el número de caracteres a escribir.descarga vacía pública () lanza IOExceptionlimpia la corrientecierre público vacío () lanza IOExceptionprimero vacía la secuencia y luego cierra el escritor.


La lectura y la escritura se realizan carácter por carácter, lo que aumenta el número de operaciones de E/S y afecta el rendimiento del sistema. Escritor almacenado en búfer se puede utilizar junto con FileWriter para mejorar la velocidad de ejecución.
El siguiente programa muestra cómo crear un archivo de texto usando FileWriter
 

hacer y mientras bucle en java
Java
// Creating a text File using FileWriter import java.io.FileWriter; import java.io.IOException; class CreateFile {  public static void main(String[] args) throws IOException  {  // Accept a string   String str = 'File Handling in Java using '+  ' FileWriter and FileReader';  // attach a file to FileWriter   FileWriter fw=new FileWriter('output.txt');  // read character wise from string and write   // into FileWriter   for (int i = 0; i < str.length(); i++)  fw.write(str.charAt(i));  System.out.println('Writing successful');  //close the file   fw.close();  } }  

Lector de archivos

FileReader es útil para leer datos en forma de caracteres de un archivo de "texto". 

  • Esta clase heredó de la clase InputStreamReader.
  • Los constructores de esta clase asumen que la codificación de caracteres predeterminada y el tamaño del búfer de bytes predeterminado son apropiados. Para especificar estos valores, construya usted mismo un InputStreamReader en un FileInputStream. 
     
  • FileReader está diseñado para leer secuencias de caracteres. Para leer flujos de bytes sin formato, considere usar FileInputStream.


Constructores:  

    FileReader (archivo de archivo) -Crea un FileReader dado el archivo para leerLector de archivos(FileDescripter fd) -Crea un nuevo FileReader dado el FileDescripter para leerFileReader (nombre de archivo de cadena) -Crea un nuevo FileReader dado el nombre del archivo para leer


Métodos:  

    public int read () lanza IOException -Lee un solo carácter. Este método se bloqueará hasta que un personaje esté disponible, se produzca un error de E/S o se llegue al final de la transmisión.public int read(char[] cbuff) lanza IOException -Lee caracteres en una matriz. Este método se bloqueará hasta que haya alguna entrada disponible, se produzca un error de E/S o se alcance el final de la transmisión.public abstract int read(char[] buff int off int len) lanza IOException -Lee caracteres en una parte de una matriz. Este método se bloqueará hasta que haya alguna entrada disponible, se produzca un error de E/S o se alcance el final de la transmisión. 
    Parámetros: 
    cbuf - Búfer de destino 
    off - Desplazamiento en el que comenzar a almacenar caracteres 
    len: número máximo de caracteres para leer 
     cierre público vacío () lanza IOExceptioncierra el lector.salto largo público (n largo) lanza IOException -Salta personajes. Este método se bloqueará hasta que algunos caracteres estén disponibles, se produzca un error de E/S o se llegue al final de la transmisión. 
    Parámetros: 
    n: el número de caracteres a omitir 


El siguiente programa muestra cómo leer el archivo de "texto" usando FileReader
 

Java
// Reading data from a file using FileReader import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; class ReadFile {  public static void main(String[] args) throws IOException  {  // variable declaration  int ch;  // check if File exists or not  FileReader fr=null;  try  {  fr = new FileReader('text');  }  catch (FileNotFoundException fe)  {  System.out.println('File not found');  }  // read from FileReader till the end of file  while ((ch=fr.read())!=-1)  System.out.print((char)ch);  // close the file  fr.close();  } } 

 

Crear cuestionario