Guardar una cadena en un archivo en Java

Rashmi Patidar 12 octubre 2023
  1. Escribir una cadena en un archivo usando la clase PrintWriter en Java
  2. Escribir una cadena en un archivo usando la clase Files de Java7
  3. Escribir una cadena en un archivo usando la clase FileWriter en Java
Guardar una cadena en un archivo en Java

Este artículo presentará métodos para escribir una cadena en un archivo en Java.

Escribir una cadena en un archivo usando la clase PrintWriter en Java

Para escribir una cadena en un archivo, podemos usar la clase PrintWriter. El constructor de la clase crea un archivo con el nombre especificado como parámetro.

El constructor arroja FileNotFoundException si la cadena no existe, o si no podemos crear el archivo, o si ocurre algún otro error al abrir o crear el archivo.

La función println() imprimirá la cadena en el archivo y terminará una línea.

El método close() cerrará el flujo y liberará los recursos del sistema asociados con él.

package writeStringToFile;

import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Objects;

public class WriteStringToFile {
  public static void main(String[] args) {
    PrintWriter printWriter = null;
    String textToBeWritten = "Hello";
    {
      try {
        printWriter = new PrintWriter("writerFile.txt");
      } catch (FileNotFoundException e) {
        System.out.println("Unable to locate the fileName: " + e.getMessage());
      }
      Objects.requireNonNull(printWriter).println(textToBeWritten);
      printWriter.close();
    }
  }
}

Escribir una cadena en un archivo usando la clase Files de Java7

La clase Files consta exclusivamente de métodos estáticos que operan en archivos, directorios u otros tipos de archivos. El método write() escribe bytes en un archivo. Los parámetros de opciones especifican cómo se crea o se abre el archivo. Si no hay opciones presentes, este método funciona como si las opciones CREATE, TRUNCATE_EXISTING y WRITE ya estuvieran allí.

El método toma dos parámetros, path y bytes.

El parámetro path especifica la ruta del archivo de destino. El método getBytes() convierte la cadena al formato Byte.

El método arroja IOException si se produce un error al escribir o crear un archivo.

package writeStringToFile;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;

public class WriteStringToFileJava7 {
  public static void main(String[] args) throws IOException {
    String contentToWrite = "Hello File!";
    String path =
        "C:\IdeaProjects\JavaProblems\src\main\java\writeStringToFile\target\targetFile.txt";
    Files.write(Paths.get(path), contentToWrite.getBytes());
  }
}

Escribir una cadena en un archivo usando la clase FileWriter en Java

La clase BufferedWriter crea un flujo de salida de caracteres almacenado en búfer que utiliza un búfer de salida de tamaño predeterminado. Toma cualquier objeto escritor como parámetro. El constructor de la clase FileWriter toma el nombre del archivo, que es el destino para almacenar la cadena. El método write escribe el texto en el archivo asociado del objeto. Este método arroja IOException cuando el archivo no es localizable.

Ahora, en el bloque finally, se deben liberar los recursos para las operaciones de entrada y salida. El método close arroja además la clase IOException, por lo que deberíamos usar la función close en el bloque try-catch o agregar la cláusula throws en el método padre.

package writeStringToFile;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

public class WriteToFileUsingFileWriter {
  public static void main(String[] args) throws IOException {
    BufferedWriter bufferedWriter = null;
    try {
      bufferedWriter = new BufferedWriter(new FileWriter("targetFile.txt"));
      bufferedWriter.write("Hey! Content to write in File");

    } catch (IOException e) {
      System.out.println("Exception occurred: " + e.getMessage());

    } finally {
      if (bufferedWriter != null)
        bufferedWriter.close();
    }
  }
}
Rashmi Patidar avatar Rashmi Patidar avatar

Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.

LinkedIn

Artículo relacionado - Java String

Artículo relacionado - Java File