Cómo crear un archivo y escribir datos en él en Java
-
PrintWriter
para crear un archivo en Java -
java.nio.file
para crear un archivo en Java -
BufferedWriter
para crear un archivo en Java -
FileWriter
para crear un archivo en Java
Este tutorial trata sobre los métodos para crear un archivo de texto y escribir datos en él en Java.
Java tiene múltiples métodos para crear un archivo. Lo único que hay que recordar es que el bloque try-catch
es necesario para casi todos los métodos de creación de archivos para que cualquier excepción IO sea manejada con gracia. No olvides usarlo.
PrintWriter
para crear un archivo en Java
El PrintWriter
en Java permite crear un nuevo archivo con la codificación especificada. Aquí hay un ejemplo.
import java.io.*;
public class Main {
public static void main(String[] args) {
String fileName = "my-file.txt";
String encoding = "UTF-8";
try {
PrintWriter writer = new PrintWriter(fileName, encoding);
writer.println("The first line");
writer.println("The second line");
writer.close();
} catch (IOException e) {
System.out.println("An error occurred.");
e.printStackTrace();
}
}
}
java.nio.file
para crear un archivo en Java
También podemos usar java.nio.file
para crear un archivo y escribir datos en él. El siguiente ejemplo ilustra este enfoque.
import java.io.*;
import java.nio.charset.*;
import java.nio.file.*;
import java.util.*;
public class Main {
public static void main(String[] args) {
String fileName = "my-file.txt";
try {
List<String> lines = Arrays.asList("The first line", "The second line");
Path file = Paths.get(fileName);
Files.write(file, lines, StandardCharsets.UTF_8);
} catch (IOException e) {
System.out.println("An error occurred.");
e.printStackTrace();
}
}
}
En este ejemplo, escribimos los datos de una ArrayList
en el archivo de tal manera que cada elemento de la ArrayList
se escribe en una nueva línea en el archivo de salida. El archivo de salida tiene este aspecto:
> The first line
> The second line
BufferedWriter
para crear un archivo en Java
El siguiente ejemplo ilustra la creación y escritura de un archivo utilizando BufferedWriter
.
import java.io.*;
import java.nio.charset.*;
import java.util.*;
public class Main {
public static void main(String[] args) {
Charset utf8 = StandardCharsets.UTF_8;
List<String> list = Arrays.asList("This is the first line", "This is the second line");
String content = "This is my content";
try {
// File name with path
String fileName = "my-file.txt";
File myFile = new File(fileName);
FileOutputStream fos = new FileOutputStream(myFile);
OutputStreamWriter osw = new OutputStreamWriter(fos);
Writer writer = new BufferedWriter(osw);
// Write data using a String variable
writer.write(content + "\n");
// Write data from an ArrayList
for (String s : list) {
writer.write(s + "\n");
}
} catch (IOException e) {
System.out.println("An error occurred.");
e.printStackTrace();
}
}
}
El archivo de salida se ve así:
> This is my content
> This is the first line
> This is the second line
FileWriter
para crear un archivo en Java
Otro método común para crear un nuevo archivo y escribir en él en Java es usar FileWriter
.
import java.io.*;
public class Main {
public static void main(String[] args) {
try {
FileWriter myWriter = new FileWriter("my-file.txt");
myWriter.write("We can also create a file and write to it using FileWriter");
myWriter.close();
} catch (IOException e) {
System.out.println("An error occurred.");
e.printStackTrace();
}
}
}
El archivo de salida se ve así:
> We can also create a file and write to it using FileWriter