English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste tutorial, vamos aprender sobre a classe InputStream do Java e seus métodos por meio de um exemplo.
A classe InputStream do pacote java.io é uma superclasse abstrata que representa um fluxo de entrada de bytes.
Como o InputStream é uma classe abstrata, ele não é útil por si só. No entanto, suas subclasses podem ser usadas para ler dados.
Para usar as funções do InputStream, podemos usar suas subclasses. Suas subclasses incluem:
No próximo tutorial, vamos aprender todos esses subclasses.
Para criar um InputStream,我们必须 primeiro importar o pacote java.io.InputStream. Após a importação do pacote, podemos criar o fluxo de entrada.
// Criar um InputStream InputStream object1 = new FileInputStream();
Aqui, usamos FileInputStream para criar um fluxo de entrada. Isso é porque InputStream é uma classe abstrata. Portanto, não podemos criar objetos InputStream.
Atenção: Também podemos criar fluxos de entrada a partir de outras subclasses de InputStream.
A classe InputStream fornece métodos diferentes implementados por suas subclasses. Aqui estão alguns métodos comuns
read(); - Ler um byte de dados do fluxo de entrada
read(byte[] array); - Ler bytes do fluxo e armazená-los no array especificado
available(); - Retornar o número de bytes disponíveis no fluxo de entrada
mark(); - Marcar a posição de dados no fluxo de entrada
reset(); -Retornar o ponto de controle para o local onde foi definida a marca no fluxo
markSupported();- Verificar se o fluxo suporta os métodos mark() e reset()
skips(); - Pular e descartar um número específico de bytes do fluxo de entrada
close(); - Fechar Fluxo de Entrada
A seguir está a implementação do método InputStream usando a classe FileInputStream.
Suponha que tenhamos um arquivo chamadoinput.txtdo arquivo, contendo o seguinte conteúdo.
Esta é uma linha de texto no arquivo.
Vamos tentar usar FileInputStream (subclasse de InputStream) para ler este arquivo.
import java.io.FileInputStream; import java.io.InputStream; public class Main { public static void main(String args[]) { byte[] array = new byte[100]; try { InputStream input = new FileInputStream("input.txt"); System.out.println("Bytes disponíveis no arquivo:"); + input.available()); //Ler bytes do fluxo de entrada input.read(array); System.out.println("Lendo dados do arquivo:"); //Converter Array de Bytes para String String data = new String(array); System.out.println(data); //Fechar Fluxo de Entrada input.close(); } catch (Exception e) { e.getStackTrace(); } } }
Resultados de Saída
Bytes Disponíveis no Arquivo: 35 Dados Lidos do Arquivo: Esta é uma linha de texto no arquivo.
No exemplo acima, usamos a classe FileInputStream para criar o fluxo de entrada. O fluxo de entrada está associado ao arquivoinput.txtLink.
InputStream input = new FileInputStream("input.txt");
Parainput.txtPara ler dados de um arquivo, implementamos esses métodos.
input.read(array); //Ler Dados do Fluxo de Entrada input.close(); //Fechar Fluxo de Entrada