Classe Java FileInputStream

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

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 telaSaí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);

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ídaSaí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