Java – Crear archivos de texto

Como crear un archivo de texto en Java.

Usando la clase PrintWriter:

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;

public class CrearArchivo {

    public static void main(String ars[]){
        try {
            String ruta = "/ruta/filename.txt";
            String contenido = "Contenido de ejemplo";

            File file = new File(ruta);

            // Si el archivo no existe es creado
            if (!file.exists()) {
                file.createNewFile();
            }

            FileWriter fw = new FileWriter(file);
            BufferedWriter bw = new BufferedWriter(fw);
            bw.write(contenido);
            bw.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}




Este ejemplo se basa en el uso de las clases FileWriter y BufferWriter.

FileWriter fw = new FileWriter(file);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(contenido);
bw.close();

La clase FileWriter debe crearse con una referencia a una clase File que contiene los detalles del archivo que será creado.

El contenido del texto se crea con la función bw.write(contenido) y de ti dependerá agregar el caracter de salto de línea.

Otra forma de hacerlo es usando la clase PrintWriter:

import java.io.PrintWriter;

public class CrearArchivo {
    public static void main(String ars[]){
        try {
            PrintWriter writer = new PrintWriter("/ruta/filename.txt", "UTF-8");
            writer.println("Primera línea");
            writer.println("Segunda línea");
            writer.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

En esta segunda opción que tenemos parea crear un archivo, la clase PrintWriter puede recibir una cadena con la ruta del archivo o una instancia de File, el segundo argumento es el tipo de encoding que será usado (“UTF-8”). Que será útil si necesitas guardar texto con caracteres especiales como acentos y eñes.