Leitura e Gravação de Arquivos
Carregue e salve texto e bytes.
Leitura e Gravação de Arquivos é uma aula grátis de Dart Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Dart Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Dart Academy inclui 4 aulas no total.
Por que dart:io
Para acessar arquivos reais em um programa de linha de comando, importe dart:io. Ele dá ao Dart a capacidade de ler e gravar no disco.
import 'dart:io';Conheça a classe File
Um objeto File aponta para um caminho no disco. Criá-lo não abre nem lê nada ainda; ele apenas identifica o destino.
final file = File('notes.txt');Leia um arquivo inteiro
Use readAsString para carregar um arquivo de texto inteiro em uma única cadeia de caracteres. O método retorna um Future, portanto você deve aguardar o resultado.
final text = await file.readAsString();Leia linha por linha
Prefere uma lista de linhas? readAsLines fornece cada linha como sua própria cadeia de caracteres, ideal para processá-las uma por vez.
final lines = await file.readAsLines();Grave o texto
Para salvar texto, chame writeAsString. O método cria o arquivo se ele não existir e, por padrão, substitui todo o conteúdo existente.
await file.writeAsString('Hello, disk!');Adicione em vez de substituir
Quer manter o texto antigo e adicionar mais conteúdo? Passe FileMode.append para que o novo conteúdo seja colocado no final.
await file.writeAsString('line\n', mode: FileMode.append);Trabalhando com bytes
Arquivos nem sempre contêm texto. Use readAsBytes para obter os dados brutos como uma lista de inteiros, útil para imagens ou formatos binários.
final bytes = await file.readAsBytes();Verifique se existe primeiro
Ler um arquivo inexistente lança uma exceção. Proteja seu código verificando exists antes de acessar o arquivo.
if (await file.exists()) { /* safe to read */ }Versões síncronas
Todo método assíncrono tem uma versão bloqueante correspondente, como readAsStringSync. É útil em scripts pequenos, mas congela tudo enquanto é executado.
final text = file.readAsStringSync();Exclua e renomeie
Faça a limpeza com delete ou mova um arquivo chamando rename com um novo caminho. Ambos retornam Futures que você pode aguardar.
await file.rename('archive.txt');Escolha a codificação correta
Os métodos de texto usam utf8 por padrão. Para outras codificações, informe uma codificação explícita para preservar caracteres acentuados ou especiais.
await file.writeAsString(s, encoding: latin1);Verificação rápida
Você quer adicionar uma linha ao registro sem apagar o conteúdo existente. Qual opção faz isso?
Recapitulação
Agora você pode ler arquivos como String, linhas ou bytes, gravar ou adicionar texto e verificar a existência com exists. Esse é o essencial da entrada e saída de arquivos.
Perguntas Frequentes
A aula “Leitura e Gravação de Arquivos” é grátis?
Sim — o texto completo de “Leitura e Gravação de Arquivos” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Dart Academy, atualize para CoddyKit PRO. O curso de Dart Academy inclui 4 aulas no total.
O que vou aprender em “Leitura e Gravação de Arquivos”?
Carregue e salve texto e bytes. Você pratica Dart Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Dart Academy?
Nenhuma experiência prévia é necessária. Dart Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Leitura e Gravação de Arquivos”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Dart Academy?
Sim. Cada aula de Dart Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Leitura e Gravação de Arquivos
- Diretórios, Caminhos e FileSystemEntity
- Transmissão de Arquivos Grandes
- Entrada Padrão, Saída Padrão e Argumentos do Processo