Cap 10 Usando I/O

Principais habilidades e conceitos
• Entender o fluxo
• Saber a diferença entre fluxos de bytes e de caracteres
• Conhecer as classes de fluxos de bytes Java
• Conhecer as classes de fluxos de caracteres Java
• Conhecer os fluxos predefinidos
• U…


This content originally appeared on DEV Community and was authored by Java para Iniciantes (Oracle)

Principais habilidades e conceitos
• Entender o fluxo
• Saber a diferença entre fluxos de bytes e de caracteres
• Conhecer as classes de fluxos de bytes Java
• Conhecer as classes de fluxos de caracteres Java
• Conhecer os fluxos predefinidos
• Usar fluxos de bytes
• Usar fluxos de bytes para I/O de arquivo
• Fechar automaticamente um arquivo usando try-with-resources
• Ler e gravar dados binários
• Usar arquivos de acesso aleatório
• Usar fluxos de caracteres
• Usar fluxos de caracteres para I/O de arquivo
• Aplicar encapsuladores de tipo Java para converter strings numéricos

I/O Java é baseado em fluxos

Principais Conceitos de I/O em Java

Fluxo de Dados:

  • É a base do sistema de I/O em Java, representando uma abstração para produzir ou consumir informações.
  • O fluxo é vinculado a dispositivos físicos (como console, arquivos) e permite usar as mesmas classes para diferentes tipos de dispositivos.
  • Fluxos de Bytes vs.

Fluxos de Caracteres:

Fluxo de Bytes:

  • Usado para dados binários, principalmente em arquivos. É útil para leitura e gravação byte a byte.
  • Fluxo de Caracteres: Usado para manipulação de caracteres, suportando Unicode e sendo ideal para textos.

Hierarquia de Classes:
InputStream e OutputStream:

  • Classes abstratas base para fluxos de entrada e saída de bytes.
  • Reader e Writer: Base para fluxos de entrada e saída de caracteres.

Classes de Fluxos de Bytes

As principais classes de fluxos de bytes incluem:

  • FileInputStream e FileOutputStream: Para leitura e gravação em arquivos.
  • DataInputStream e DataOutputStream: Para leitura e gravação de tipos de dados Java (ex. int, float).
  • BufferedInputStream e BufferedOutputStream: Armazenamento em buffer para melhor desempenho.

Exemplo: Leitura e gravação com FileInputStream e FileOutputStream.

try (FileInputStream in = new FileInputStream("entrada.txt");
     FileOutputStream out = new FileOutputStream("saida.txt")) {
    int byteData;
    while ((byteData = in.read()) != -1) {
        out.write(byteData);
    }
} catch (IOException e) {
    e.printStackTrace();
}

Uso de try-with-resources
Garantir que os recursos, como arquivos, sejam fechados automaticamente após o uso.

try (FileOutputStream fos = new FileOutputStream("arquivo.txt")) {
    fos.write("Texto de exemplo".getBytes());
} catch (IOException e) {
    e.printStackTrace();
}

Classes de Fluxos de Caracteres

  • FileReader e FileWriter: Para ler e escrever caracteres em arquivos.
  • BufferedReader e BufferedWriter: Armazenamento em buffer para leitura e escrita de texto mais eficiente.

Exemplo: Leitura e gravação com FileReader e BufferedWriter.

try (FileReader fr = new FileReader("entrada.txt");
     BufferedWriter bw = new BufferedWriter(new FileWriter("saida.txt"))) {
    int charData;
    while ((charData = fr.read()) != -1) {
        bw.write(charData);
    }
} catch (IOException e) {
    e.printStackTrace();
}

Outros Recursos

  • ObjectInputStream e ObjectOutputStream: Para manipulação de objetos completos.
  • RandomAccessFile: Para acesso aleatório aos dados no arquivo, possibilitando leitura e gravação em posições específicas.

Este capítulo introduz conceitos fundamentais para trabalhar com arquivos e manipulação de dados em Java, essencial para muitos tipos de aplicações, especialmente onde armazenamento persistente e leitura eficiente de dados são necessários.

Image description

Image description


This content originally appeared on DEV Community and was authored by Java para Iniciantes (Oracle)


Print Share Comment Cite Upload Translate Updates
APA

Java para Iniciantes (Oracle) | Sciencx (2024-11-02T17:25:33+00:00) Cap 10 Usando I/O. Retrieved from https://www.scien.cx/2024/11/02/cap-10-usando-i-o/

MLA
" » Cap 10 Usando I/O." Java para Iniciantes (Oracle) | Sciencx - Saturday November 2, 2024, https://www.scien.cx/2024/11/02/cap-10-usando-i-o/
HARVARD
Java para Iniciantes (Oracle) | Sciencx Saturday November 2, 2024 » Cap 10 Usando I/O., viewed ,<https://www.scien.cx/2024/11/02/cap-10-usando-i-o/>
VANCOUVER
Java para Iniciantes (Oracle) | Sciencx - » Cap 10 Usando I/O. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2024/11/02/cap-10-usando-i-o/
CHICAGO
" » Cap 10 Usando I/O." Java para Iniciantes (Oracle) | Sciencx - Accessed . https://www.scien.cx/2024/11/02/cap-10-usando-i-o/
IEEE
" » Cap 10 Usando I/O." Java para Iniciantes (Oracle) | Sciencx [Online]. Available: https://www.scien.cx/2024/11/02/cap-10-usando-i-o/. [Accessed: ]
rf:citation
» Cap 10 Usando I/O | Java para Iniciantes (Oracle) | Sciencx | https://www.scien.cx/2024/11/02/cap-10-usando-i-o/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.