Métodos de Leitura do InputStream:
- read(): Permite ler bytes diretamente do fluxo.
- Três versões de read():
- int read(): Lê um único byte e retorna -1 no fim do fluxo.
- int read(byte dados[]): Lê bytes até preencher o array dados, atingir o fim do fluxo ou ocorrer um erro. Retorna o número de bytes lidos ou -1 se o fim do fluxo for alcançado.
- int read(byte dados[], int início, int max): Lê até max bytes no array dados a partir do índice início. Retorna o número de bytes lidos ou -1 se o fim do fluxo for alcançado.
- Exceções: Todas as versões de read() podem lançar uma IOException em caso de erro.
Uso do System.in para Leitura:
Leitura de Entrada Console: System.in é usado como fluxo de entrada, onde o pressionamento de "ENTER" indica o fim do fluxo de entrada.
Exemplo de Código ReadBytes:
Funcionalidade: O programa lê um array de bytes do console e exibe os caracteres digitados.
Estrutura do Código:
data[]: Array de 10 bytes para armazenar a entrada.
System.in.read(data): Lê os caracteres digitados no console e os armazena em data.
Laço de Exibição: Itera sobre data[] para converter cada byte em caractere e exibi-los.
Código de Exemplo:
import java.io.*;
class ReadBytes {
public static void main(String args[]) throws IOException {
byte data[] = new byte[10];
System.out.println("Enter some characters.");
System.in.read(data); // Lê o array de bytes
System.out.print("You entered: ");
for (int i = 0; i < data.length; i++)
System.out.print((char) data[i]); // Converte e exibe cada byte como caractere
}
}
Exemplo de Execução:
Entrada: "Read Bytes"
Saída:
Enter some characters.
You entered: Read Bytes
Esse trecho detalha como utilizar os métodos read() para ler dados do teclado em formato de bytes, ilustrando o uso básico de System.in para entrada no console e demonstrando a manipulação direta de bytes em um array.
Top comments (0)