A classe Java FileInputStream obtém bytes de entrada de um arquivo . Ele é usado para ler dados orientados a bytes (fluxos de bytes brutos), como dados de imagem, áudio, vídeo, etc. Você também pode ler dados de fluxo de caracteres. Mas, para leitura de fluxos de caracteres, é recomendado usar Leitor de arquivos aula.
Declaração de classe Java FileInputStream
Vamos ver a declaração da classe java.io.FileInputStream:
public class FileInputStream extends InputStream
Métodos da classe Java FileInputStream
Método | Descrição |
---|---|
int disponível() | É usado para retornar o número estimado de bytes que podem ser lidos no fluxo de entrada. |
leitura interna() | É usado para ler o byte de dados do fluxo de entrada. |
leitura interna (byte[] b) | É usado para ler até b.comprimento bytes de dados do fluxo de entrada. |
int lido(byte[] b, int desligado, int len) | É usado para ler até apenas bytes de dados do fluxo de entrada. |
salto longo (longo x) | É usado para pular e descartar x bytes de dados do fluxo de entrada. |
FileChannelgetChannel() | É usado para retornar o objeto FileChannel exclusivo associado ao fluxo de entrada do arquivo. |
Descritor de arquivo getFD() | É usado para retornar o objeto FileDescriptor. |
finalização nula protegida() | É usado para garantir que o método close seja chamado quando não houver mais referência ao fluxo de entrada do arquivo. |
vazio fechar() | É utilizado para fechar o fluxo . |
Java FileInputStream exemplo 1: leitura de um único caractere
import java.io.FileInputStream; public class DataStreamExample { public static void main(String args[]){ try{ FileInputStream fin=new FileInputStream('D:\testout.txt'); int i=fin.read(); System.out.print((char)i); fin.close(); }catch(Exception e){System.out.println(e);} } }
Observação: Antes de executar o código, um arquivo de texto denominado como 'testout.txt' é necessário que seja criado. Neste arquivo, temos o seguinte conteúdo:
comandos git para push
Welcome to javatpoint.
Depois de executar o programa acima, você obterá um único caractere do arquivo que tem 87 (em formato de byte). Para ver o texto, você precisa convertê-lo em caractere.
forma completa de i d e
Saída:
W
Java FileInputStream exemplo 2: leia todos os caracteres
package com.javatpoint; import java.io.FileInputStream; public class DataStreamExample { public static void main(String args[]){ try{ FileInputStream fin=new FileInputStream('D:\testout.txt'); int i=0; while((i=fin.read())!=-1){ System.out.print((char)i); } fin.close(); }catch(Exception e){System.out.println(e);} } }
Saída:
Welcome to javaTpoint