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.
- Usando la variable
- 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