Como criar um arquivo e escrever dados nele em Java

Hassan Saeed 12 outubro 2023
  1. PrintWriter para criar arquivo em Java
  2. Files para criar arquivo em Java
  3. BufferedWriter para criar um arquivo em Java
  4. FileWriter para criar um arquivo em Java
Como criar um arquivo e escrever dados nele 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

Artigo relacionado - Java File