Java.io - Input/Output
- #Java
📁 O que é I/O (Input/Output) em Java?
I/O (Entrada/Saída) é a forma como um programa lê dados (entrada) e grava dados (saída) em arquivos e diretórios no computador.
Exemplos:
Ler dados de um arquivo .txt ou .csv → Input
Escrever dados em um arquivo → Output
🧱 Principais Classes de java.io
📦 Criando e Gerenciando Arquivos com File
import java.io.File;
File arquivo = new File("dados.txt");
if (!arquivo.exists()) {
arquivo.createNewFile(); // cria um novo arquivo
}
exists() → Verifica se o arquivo já existe.
createNewFile() → Cria o arquivo se ele não existir.
✏️ Escrevendo em Arquivos
import java.io.BufferedWriter;
import java.io.FileWriter;
BufferedWriter writer = new BufferedWriter(new FileWriter("dados.txt"));
writer.write("Olá, mundo!");
writer.newLine(); // pula uma linha
writer.write("Segunda linha");
writer.close(); // sempre feche após escrever
📖 Lendo Arquivos
import java.io.BufferedReader;
import java.io.FileReader;
BufferedReader reader = new BufferedReader(new FileReader("dados.txt"));
String linha;
while ((linha = reader.readLine()) != null) {
System.out.println(linha);
}
reader.close();
📂 Trabalhando com Diretórios
File pasta = new File("meuDiretorio");
if (!pasta.exists()) {
pasta.mkdir(); // cria um diretório
}
Você também pode listar os arquivos de um diretório:
File[] arquivos = pasta.listFiles();
for (File f : arquivos) {
System.out.println(f.getName());
}
✅ Exemplo Completo (Simples)
import java.io.*;
public class ArquivoExemplo {
public static void main(String[] args) throws IOException {
// Escrevendo no arquivo
BufferedWriter writer = new BufferedWriter(new FileWriter("exemplo.txt"));
writer.write("Linha 1");
writer.newLine();
writer.write("Linha 2");
writer.close();
// Lendo do arquivo
BufferedReader reader = new BufferedReader(new FileReader("exemplo.txt"));
String linha;
while ((linha = reader.readLine()) != null) {
System.out.println(linha);
}
reader.close();
}
Pessoal, este é um resumo do assunto do módulo: Simplificando I/O de Arquivos e Diretórios com Java. Se gostarem deixem 1+, aceito sugestões para melhor contribuir com todos(as)! principalmente vocês iniciantes na área de TI. Boa sorte a todos(as)!!
Fonte: Professor José Luiz Júnior - Bootcamp GFT
Pesquisa: ChatGPT (para melhor compreensão do assunto)




Olá! que bom que você gostou, fiquei muito fez de poder transmitir com clareza esse assunto.
O principal benefício de utilizar BufferedWriter e BufferedReader é a combinação de simplicidade e eficiência. Essas classes abstraem a manipulação granular de bytes ou caracteres, permitindo ao desenvolvedor trabalhar de forma intuitiva com linhas completas. Além disso, o buffering interno otimiza o desempenho ao reduzir o número de acessos diretos ao disco, tornando o código mais limpo, legível e menos propenso a erros.
Excelente, Belisnalva! Seu resumo é fascinante ver como você aborda a forma como um programa lê e grava dados em arquivos e diretórios, desmistificando o I/O em Java.
Você demonstrou as principais classes de java.io, como File para criar e gerenciar arquivos e diretórios, e BufferedWriter e BufferedReader para escrever e ler arquivos. Sua análise dos métodos exists(), createNewFile(), write(), newLine() e close(), com um exemplo completo, é muito útil para iniciantes.
Considerando que java.io é ideal para aplicações simples ou que não processam muitos arquivos simultaneamente, qual você diria que é o maior benefício para um desenvolvedor ao utilizar o BufferedWriter e BufferedReader para escrever e ler arquivos, em termos de simplicidade e facilidade de uso, em vez de lidar diretamente com fluxos de bytes ou de caracteres de forma mais granular?