CodeGym
Promoção
Aprendizagem
Cursos
Tarefas
Pesquisas & Questionários
Jogos
Ajuda
Cronograma
Comunidade
Usuários
Fórum
Chat
Artigos
Histórias de sucesso
Atividade
Avaliações
Assinaturas
Tema claro

Aulas

  • Avaliações
  • Sobre nós
Iniciar
Comece a aprender
Comece a aprender agora
  • Meu progresso
  • Cursos
  • Mapa da Missão
  • Aulas
  • Leitura de arquivos de texto: linha a linha e por inteiro

    JAVA 25 SELF
    Nível 36,Aula 1
    Nesta aula, abordamos a leitura linha a linha com BufferedReader e a leitura do arquivo inteiro com Files.readAllLines/ Files.readString, a escolha do buffer (por exemplo, 8192 bytes), o fechamento seguro de recursos com try-with-resources e também o trabalho com codificações ( StandardCharsets.UTF_8). São mostrados exemplos práticos (contagem de linhas, busca em log, parsing de configuração) e erros comuns (por exemplo, OutOfMemoryError ao carregar arquivos grandes por inteiro).
    Disponível
  • Leitura e escrita de arquivos binários: InputStream, OutputStream

    JAVA 25 SELF
    Nível 36,Aula 2
    Analisamos a diferença entre arquivos de texto e binários, os fluxos básicos de bytes InputStream/ OutputStream e suas implementações para arquivos ( FileInputStream, FileOutputStream). Escrevemos uma cópia com buffer, discutimos a velocidade de leitura byte a byte vs em blocos, gravação de arrays de bytes via write(), nuances do try-with-resources, escolha do tamanho do buffer 4– 16 KB, uso seguro de readAllBytes() e erros comuns (por exemplo, usar FileReader/ FileWriter para dados binários).
    Disponível
  • DataInputStream, DataOutputStream: trabalhando com tipos primitivos

    JAVA 25 SELF
    Nível 36,Aula 3
    Nesta aula, analisamos E/S binária em Java com DataInputStream e DataOutputStream: como gravar e ler primitivos ( int, double, boolean) e strings ( String) usando os métodos writeXXX/ readXXX, por que a ordem é importante, como armazenar arrays, quando vale a pena adicionar BufferedInputStream/ BufferedOutputStream e quais erros típicos levam a IOException ou EOFException.
    Disponível
  • Trabalhando com try-with-resources: fechamento automático de recursos

    JAVA 25 SELF
    Nível 36,Aula 4
    Analisamos a forma moderna e segura de trabalhar com recursos em Java — try-with-resources: comparação com o padrão antigo try/ catch/ finally + close(), requisitos para os tipos (que implementem AutoCloseable ou Closeable), sintaxe try(...){...}, ordem de fechamento, exceções “suprimidas” via getSuppressed(), exemplos com I/O e recursos personalizados, além de dicas e erros comuns.
    Disponível
  • O que é codificação de caracteres e para que serve

    JAVA 25 SELF
    Nível 37,Aula 0
    Vamos entender o que é uma codificação e por que, sem ela, textos de computador viram “caracteres estranhos”. Comparamos conjuntos populares: UTF-8, Windows-1251, ASCII, Unicode/ UTF-16. Discutimos a representação interna de strings na JVM ( String em Unicode) e a maneira correta de realizar entrada/saída: indicar explicitamente a codificação via InputStreamReader/ OutputStreamWriter e StandardCharsets.UTF_8. Por fim — exemplos práticos e erros comuns.
    Disponível
  • Codificações principais: UTF-8, UTF-16, ISO-8859-1

    JAVA 25 SELF
    Nível 37,Aula 1
    Analisamos três codificações básicas com as quais um desenvolvedor Java se depara: o que é UTF-8 (padrão para a web e para a maioria dos formatos), como é o formato interno das strings na JVM — UTF-16 (com pares substitutos e BOM), e por que ainda aparece ISO-8859-1. Explicamos a compatibilidade com ASCII, o tamanho em bytes por caractere e mostramos como trabalhar corretamente com codificações em Java usando StandardCharsets, Files.write, Files.readString, Paths.get. No final — erros típicos: leitura/gravação incorreta, codificação do sistema “padrão”, confusão entre UTF-16/ UTF-8.
    Disponível
  • Definindo a codificação ao ler/gravar arquivos

    JAVA 25 SELF
    Nível 37,Aula 2
    Como evitar “mojibake” e fazer o texto parecer igual em todas as máquinas: entendendo a codificação do sistema ( "file.encoding"), trabalhando com Charset e as constantes StandardCharsets, lendo/gravando via Files . newBufferedReader e Files . newBufferedWriter, usando try-with-resources, vendo as codificações disponíveis e seguindo as melhores práticas (por padrão — "UTF-8"). No final — erros típicos e como evitá-los.
    Disponível
  • Problemas de incompatibilidade de codificação, erros comuns

    JAVA 25 SELF
    Nível 37,Aula 3
    Nesta aula, analisamos “mojibake”, perda de caracteres ( ?), exceções como MalformedInputException, as causas (incompatibilidade Windows-1251/ UTF-8, codificação do sistema “padrão”, BOM), o diagnóstico ( file.encoding) e as melhores práticas: especificar explicitamente Charset, usar Files/ BufferedReader com StandardCharsets, evitar FileReader/ FileWriter, nuances para XML/ JSON e BOM.
    Disponível
  • Recodificação de arquivos: leitura em uma codificação, gravação em outra

    JAVA 25 SELF
    Nível 37,Aula 4
    Como ler corretamente texto de um arquivo em uma codificação e gravá-lo em outra usando classes de java.nio.file e java.io: use Files.newBufferedReader/ Files.newBufferedWriter ou InputStreamReader/ OutputStreamWriter, informe o Charset desejado, aplique try-with-resources e evite as armadilhas da codificação do sistema. Passo a passo, exemplo Windows-1251 → UTF-8, nuances (BOM, arquivos grandes, exceções) e erros comuns.
    Disponível
  • IOException e FileNotFoundException: tratamento de erros

    JAVA 25 SELF
    Nível 38,Aula 0
    Como é a hierarquia de exceções de E/S em Java, qual é a diferença entre IOException e sua subclasse FileNotFoundException, quando elas ocorrem e como tratá-las corretamente. Vamos ver a ordem dos blocos catch, prática com leitura/gravação de arquivos, dicas de logging e também uma tabela resumida dos erros mais frequentes. Também abordaremos as exceções checked, as palavras‑chave try, catch, finally, throws e o recurso try-with-resources.
    Disponível
  • Verificação da existência de arquivos e diretórios

    JAVA 25 SELF
    Nível 38,Aula 1
    Como verificar no Java se existe um arquivo ou pasta: a classe File com seus métodos exists(), isFile(), isDirectory() e a abordagem moderna NIO via Path e Files — Files.exists(), Files.isRegularFile(), Files.isDirectory(). Vamos discutir o problema TOCTOU e por que a verificação não substitui o tratamento de erros: mesmo após exists() você pode receber FileNotFoundException ou AccessDeniedException, portanto sempre use blocos try e, quando possível, try-with-resources. Além disso, prática: leitura de arquivo quando presente, criação de diretório via Files.createDirectory() e Files.createDirectories(), trabalho com caminhos relativos e absolutos.
    Disponível
  • Tratamento de arquivos corrompidos e recuperação de dados

    JAVA 25 SELF
    Nível 38,Aula 2
    Como reconhecer arquivos “corrompidos” pelas exceções ( EOFException, MalformedInputException, ZipException, StreamCorruptedException), o que fazer em caso de incompatibilidade de formato e quais estratégias de recuperação usar: registro em log e notificação do usuário, leitura parcial até o erro, cópias de segurança, somas de verificação ( SHA-256). Prática de leitura até EOF, uso correto de codificações e análise de erros típicos (validação, try-with-resources, regravação cuidadosa).
    Disponível
  • 1
  • ...
  • 16
  • 17
  • 18
  • 19
  • 20
  • ...
  • 30
Aprender
  • Cadastro
  • Curso de Java
  • Ajuda com Tarefas
  • Preços
  • Sintaxe Java
Comunidade
  • Usuários
  • Artigos
  • Fórum
  • Chat
  • Histórias de sucesso
  • Atividade
  • Programa de afiliados
Empresa
  • Sobre nós
  • Contatos
  • Avaliações
  • Sala de imprensa
  • CodeGym for EDU
  • Perguntas frequentes
  • Suporte
CodeGymCodeGym é um curso online para aprender programação Java do zero. Este curso é uma maneira perfeita de dominar Java para iniciantes. Contém mais de 1.200 tarefas com verificação instantânea e um escopo essencial da teoria dos fundamentos de Java. Para ajudar você a ter sucesso nos estudos, implementamos um conjunto de recursos motivacionais: questionários, projetos de programação, conteúdo sobre aprendizagem eficiente e carreira de desenvolvedor Java.
Siga-nos
Idioma da interface
English Deutsch Español हिन्दी Français
Português
Polski বাংলা 简体中文 मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
"Programadores se formam, não nascem" © 2026 CodeGym
MastercardVisa
"Programadores se formam, não nascem" © 2026 CodeGym