Java – Crear archivos de texto

Como crear un archivo de texto en Java.

Usando la clase PrintWriter:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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.