logo

Classe Java FileInputStream

A classe FileInputStream em Java é usada para ler dados de um arquivo na forma de bytes. É ideal para ler dados binários, como imagens ou arquivos de áudio. Para ler arquivos de texto é melhor usar Leitor de arquivos.

  • Acesso direto: Ele lê diretamente o conteúdo do arquivo do disco sem buffer
  • Independente de plataforma: Pode funcionar em qualquer sistema operacional

Declaração

A classe FileInputStream estende o Fluxo de entrada classe, o que significa que herda métodos para ler dados brutos de bytes de arquivos.

classe pública FileInputStream estende InputStream



comandos git para push

Exemplo: Classe FileInputStream para ler dados do arquivo.

Java
import java.io.*; public class Geeks{    public static void main(String[] args){    // Use try-with-resources to automatically close the  // stream  try (FileInputStream fi  = new FileInputStream('file1.txt')) {  // Display file channel information  System.out.println('Channel: '  + fi.getChannel());  // Display file descriptor  System.out.println('File Descriptor: '  + fi.getFD());  // Show available bytes in the stream  System.out.println('Number of remaining bytes: '  + fi.available());  // Skip first few bytes  fi.skip(4);  System.out.println('File Contents:');  // Read and print file content  int ch;  while ((ch = fi.read()) != -1) {  System.out.print((char)ch);  }  }  catch (FileNotFoundException e) {  System.out.println(  'File not found: Ensure 'file1.txt' exists in the working directory.');  }  catch (IOException e) {  System.out.println(  'An error occurred while reading the file: '  + e.getMessage());  }  } } 

Saída:  

Captura de tela' title=Saída

Construtores de Classe FileInputStream

1. FileInputStream (nome da string)

Cria um fluxo de arquivo de entrada para ler um arquivo com o nome especificado. 

FileInputStream fi = new FileInputStream('example.txt');

2. FileInputStream (arquivo de arquivo)

Cria um fluxo de arquivo de entrada para leitura do objeto File especificado. 

Arquivo f = novo Arquivo('exemplo.txt');
FileInputStream fi = new FileInputStream(f);

forma completa de i d e

3. FileInputStream (FileDescriptor fdobj)

Cria um fluxo de arquivo de entrada para leitura do descritor de arquivo especificado. 

FileDescriptor fd = FileDescriptor.in;
FileInputStream fi = new FileInputStream(fd); 

Crie um arquivo chamado file.txt no diretório do seu projeto com o seguinte conteúdo:

este é meu primeiro código
este é meu segundo código

Java
import java.io.*; public class Geeks {  public static void main(String[] args)  {  // Use try-with-resources to automatically close the stream  try (FileInputStream fi  = new FileInputStream('file1.txt')) {  // Display file channel information  System.out.println('Channel: '  + fi.getChannel());  // Display file descriptor  System.out.println('File Descriptor: '  + fi.getFD());  // Illustrating available method  System.out.println('Number of remaining bytes: '  + fi.available());  // Illustrating skip() method  fi.skip(4);  System.out.println('File Contents:');  // Reading characters from FileInputStream  int ch;  while ((ch = fi.read()) != -1) {  System.out.print((char)ch);  }  }  catch (FileNotFoundException e) {  System.out.println(  'File not found: Ensure 'file1.txt' exists in the working directory.');  }  catch (IOException e) {  System.out.println(  'An error occurred while reading the file: '  + e.getMessage());  }  } } 

Saída:  

Saída' loading='lazy' title=Saída

Métodos de Java Classe FileInputStream

Métodos Ação realizada 
disponível() Retorna uma estimativa do número de bytes restantes que podem ser lidos (ou ignorados) deste fluxo de entrada.
fechar() Fecha esse fluxo de entrada de arquivo e libera quaisquer recursos do sistema associados ao fluxo.
finalizar() Garante que o método close deste fluxo de entrada de arquivo seja chamado quando não houver mais referências a ele. 
getCanal() Retorna o objeto FileChannel exclusivo associado a esse fluxo de entrada de arquivo. 
getFD() Retorna o objeto FileDescriptor que representa a conexão com o arquivo real no sistema de arquivos que está sendo usado por este FileInputStream.
ler() Lê um byte de dados deste fluxo de entrada
ler(byte[] b)Lê até b.length bytes de dados desse fluxo de entrada em uma matriz de bytes. 
leitura(byte[] b int off int len)Lê até len bytes de dados deste fluxo de entrada em uma matriz de bytes.
pular() Ignora e descarta n bytes de dados do fluxo de entrada
Criar questionário