Como criar um arquivo e escrever dados nele em Java
-
PrintWriter
para criar arquivo em Java -
Files
para criar arquivo em Java -
BufferedWriter
para criar um arquivo em Java -
FileWriter
para criar um arquivo em Java
Este tutorial discute métodos para criar um arquivo texto e escrever dados para ele em Java.
Java tem vários métodos para criar um arquivo. A única coisa a ser lembrada é que o bloco try-catch
é necessário para quase todos os métodos de criação de arquivos, para que qualquer Exceção IO seja tratada graciosamente. Não se esqueça de utilizá-lo.
PrintWriter
para criar arquivo em Java
O PrintWriter
em Java permite a criação de um novo arquivo com a codificação especificada. Aqui está um exemplo.
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();
}
}
}
Files
para criar arquivo em Java
Também podemos utilizar java.nio.file
para criar um arquivo e escrever dados para ele. O exemplo abaixo ilustra esta abordagem.
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();
}
}
}
Neste exemplo, nós escrevemos os dados de uma ArrayList
para o arquivo de forma que cada elemento da ArrayList
seja escrito em uma nova linha no arquivo de saída. O arquivo de saída tem este aspecto:
> The first line
> The second line
BufferedWriter
para criar um arquivo em Java
O exemplo abaixo ilustra a criação e escrita de um arquivo utilizando o 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();
}
}
}
O arquivo de saída tem este aspecto:
> This is my content
> This is the first line
> This is the second line
FileWriter
para criar um arquivo em Java
Outro método comum para criar um novo arquivo e escrever nele em Java é utilizar o 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();
}
}
}
O arquivo de saída tem este aspecto:
> We can also create a file and write to it using FileWriter