Programa Java para leer contenido de un archivo y escribirlo en otro archivo

 El manejo de archivos juega un papel importante al hacerlo, ya que el primer paso esencial es escribir contenido en un archivo. Para esto es necesario saber cómo escribir contenido en un archivo usando la   clase FileWriter . El paso secundario es leer el contenido de un archivo e imprimirlo. Para esto, uno debe tener buenas manos en la clase File Reader para hacerlo. 

Ahora, para leer el contenido de un archivo y escribirlo en otro archivo, ya se discutió cómo escribir contenido en un archivo y también cómo leer el contenido de un archivo. Ahora, el momento de combinar ambos. Ahora usaremos la clase FileReader para leer el contenido de una clase y la clase FileWriter para escribirlo en otro archivo.

Métodos: para leer el contenido de un archivo y escribirlo en otro archivo, uno debe saber cómo leer un archivo o escribir un archivo.

  1. Usando la variable
  2. Sin utilizar ninguna variable

Método 1: Usando la variable

Ejemplo 1:

Java

// Java program to read content from one file
// and write it into another file
 
// Custom paths for this program
// Reading from - gfgInput.txt
// Writing to - gfgOutput.txt
 
// Importing input output classes
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
 
// Class
class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
 
        // The file reading process may sometimes give
        // IOException
 
        // Try block to check for exceptions
        try {
 
            // Creating a FileReader object and
            // file to be read is passed as in parameters
            // from the local directory of computer
            FileReader fr = new FileReader("gfgInput.txt");
 
            // FileReader will open that file from that
            // directory, if there is no file found it will
            // through an IOException
 
            // Creating a FileWriter object
            FileWriter fw = new FileWriter("gfgOutput.txt");
 
            // It will create a new file with name
            // "gfgOutput.text", if it is already available,
            // then it will open that instead
 
            // Declaring a blank string in which
            // whole content of file is to be stored
            String str = "";
 
            int i;
 
            // read() method will read the file character by
            // character and print it until it end the end
            // of the file
 
            // Condition check
            // Reading the file using read() method which
            // returns -1 at EOF while reading
            while ((i = fr.read()) != -1) {
 
                // Storing every character in the string
                str += (char)i;
            }
 
            // Print and display the string that
            // contains file data
            System.out.println(str);
 
            // Writing above string data to
            // FileWriter object
            fw.write(str);
 
            // Closing the file using close() method
            // of Reader class which closes the stream &
            // release resources that were busy in stream
            fr.close();
            fw.close();
 
            // Display message
            System.out.println(
                "File reading and writing both done");
        }
 
        // Catch block to handle the exception
        catch (IOException e) {
 
            // If there is no file in specified path or
            // any other error occurred during runtime
            // then it will print IOException
 
            // Display message
            System.out.println(
                "There are some IOException");
        }
    }
}

Salida: como este código accede al almacenamiento interno para guardar ese archivo, no se ejecutaría en el compilador, por lo que la salida está codificada a continuación, como se muestra

El programa imprime el contenido en ese archivo y luego, en la siguiente línea, imprimirá la lectura y escritura del archivo finalizadas (si no se produjo ningún error), y el contenido del archivo de entrada se escribirá en el nuevo archivo de salida. Si hay algún error, imprimirá There are some IOException .

Método 2: Sin usar ninguna variable

En el programa anterior, almacenábamos todo el contenido del archivo de entrada en una variable y luego escribíamos la string en el archivo de salida. Ahora podemos almacenar directamente esos caracteres en el archivo de salida directamente.

Java

// Java program to read content from one file
// and write it into another file
 
// Custom paths for this program
// Reading from - gfgInput.txt
// Writing to - gfgOutput.txt
 
// Importing FileWriter class
// to write into a file
import java.io.FileWriter;
// Also importing IOException class to
// throw exception if occurs
import java.io.IOException;
 
// Class
class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
        // The file writing and creating process may give
        // some IOException, that's why it is mandatory to
        // use try block
 
        // Try block to check for exception/s
        try {
 
            // Creating a FileWriter object which will
            // create a new file and if already available
            // it will open it
            FileWriter fw = new FileWriter("gfg.txt");
 
            // Content to be written on file
            // Custom input string
 
            // write() method will write the string
            // in the file
            fw.write("We love GeeksForGeeks");
 
            // Closing the file freeing up resources
            // in the memory
            fw.close();
 
            // Print and display message
            System.out.println("\nFile write done");
        }
 
        // Catch block to catch if exception/s occurs
        catch (IOException e) {
 
            // Print and display message
            System.out.println(
                "There are some IOException");
        }
    }
}

Salida: como este código accede al almacenamiento interno para guardar ese archivo, no se ejecutaría en el compilador, por lo que la salida está codificada a continuación, como se muestra

Como salida, el programa imprimirá FIle write done (si no hay ningún error) y creará un archivo con el mismo nombre dado como nombre de archivo, es decir, ‘ gfg.text’

Publicación traducida automáticamente

Artículo escrito por saikatsarkar10 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *