Introdução
Neste laboratório, aprenderemos como escrever dados em um arquivo usando a linguagem de programação Java. Escrever dados em um arquivo pode ser muito útil quando você precisa armazenar dados gerados pelo seu programa para uso futuro.
Neste laboratório, aprenderemos como escrever dados em um arquivo usando a linguagem de programação Java. Escrever dados em um arquivo pode ser muito útil quando você precisa armazenar dados gerados pelo seu programa para uso futuro.
O primeiro passo é abrir ou criar um arquivo no qual queremos escrever os dados. Criaremos um novo arquivo chamado output.txt no diretório ~/project.
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class Main {
public static void main(String[] args) {
Path path = Paths.get("~/project/output.txt");
}
}
Agora que temos nosso arquivo aberto, podemos escrever uma string nele. Isso é feito usando o método Files.write().
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.charset.StandardCharsets;
public class Main {
public static void main(String[] args) throws IOException {
Path path = Paths.get("~/project/output.txt");
String content = "This is some text that we want to write to the file";
Files.write(path, content.getBytes());
}
}
Aqui, estamos escrevendo uma string no arquivo convertendo-a em bytes e passando-a para o método Files.write(). Observe que precisamos usar o método getBytes() para converter a string em bytes.
Para executar o código acima em seu terminal, primeiro, você precisa navegar até o diretório do seu projeto no terminal. Em seguida, execute o seguinte comando:
javac Main.java && java Main
Também podemos escrever uma lista de strings no arquivo usando o método Files.write(), da seguinte forma:
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) throws IOException {
Path path = Paths.get("~/project/output.txt");
List<String> lines = Arrays.asList("This is line 1", "This is line 2", "This is line 3");
Files.write(path, lines, StandardCharsets.UTF_8);
}
}
Aqui, estamos escrevendo uma lista de strings no arquivo. Observe que estamos usando uma versão sobrecarregada do método Files.write() que recebe uma lista de strings como parâmetro.
Para executar o código acima para escrever uma lista de strings no arquivo, primeiro, você precisa navegar até o diretório do seu projeto no terminal. Em seguida, execute o seguinte comando:
javac Main.java && java Main
Se você deseja escrever dados em um arquivo sem sobrescrever os dados existentes no arquivo, pode usar a opção StandardOpenOption.APPEND ao abrir o arquivo. Isso anexará quaisquer novos dados ao final do arquivo.
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.List;
import java.nio.file.StandardOpenOption;
public class Main {
public static void main(String[] args) throws IOException {
Path path = Paths.get("~/project/output.txt");
List<String> lines = Arrays.asList("This is line 4", "This is line 5", "This is line 6");
Files.write(path, lines, StandardCharsets.UTF_8, StandardOpenOption.APPEND);
}
}
Aqui, adicionamos a opção StandardOpenOption.APPEND ao método Files.write(), que informa ao Java para anexar novos dados ao final do arquivo, em vez de sobrescrever quaisquer dados existentes.
Para executar a operação de anexação, primeiro, você precisa navegar até o diretório do seu projeto no terminal. Em seguida, execute o seguinte comando:
javac Main.java && java Main
Finalmente, precisamos fechar o arquivo usando o método Files.close(). Isso garantirá que quaisquer dados em buffer sejam gravados no arquivo antes que ele seja fechado.
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.List;
import java.nio.file.StandardOpenOption;
public class Main {
public static void main(String[] args) throws IOException {
Path path = Paths.get("~/project/output.txt");
String content = "This is some text that we want to write to the file";
Files.write(path, content.getBytes());
Files.write(path, System.lineSeparator().getBytes(), StandardOpenOption.APPEND);
Files.write(path, "This is a new line".getBytes(), StandardOpenOption.APPEND);
Files.close();
}
}
Neste laboratório, aprendemos como escrever dados em um arquivo usando a classe Files do Java. Vimos como escrever uma string em um arquivo, escrever uma lista de strings em um arquivo, anexar a um arquivo e fechar um arquivo. Esperamos que agora você possa escrever um arquivo facilmente com a ajuda da classe Files do Java.