DEV Community

Lendo a entrada do console

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
    }
}

Enter fullscreen mode Exit fullscreen mode

Exemplo de Execução:
Entrada: "Read Bytes"
Saída:

Enter some characters.
You entered: Read Bytes

Enter fullscreen mode Exit fullscreen mode

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)