Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Java

Classe Java FileInputStream

Classe Java FileInputStream


Neste tutorial, aprenderemos sobre o Java FileInputStream e seus métodos com a ajuda de exemplos.

O FileInputStream classe do java.io pacote pode ser usado para ler dados (em bytes) de arquivos.

Ele estende o InputStream classe abstrata.



Antes de aprendermos sobre FileInputStream , certifique-se de saber sobre Arquivos Java.


Criar um FileInputStream


Para criar um fluxo de entrada de arquivo, devemos importar o java.io.FileInputStream pacote primeiro. Depois de importar o pacote, veja como podemos criar um fluxo de entrada de arquivo em Java.

1. Usando o caminho para o arquivo
FileInputStream input = new FileInputStream(stringPath);

Aqui, criamos um fluxo de entrada que será vinculado ao arquivo especificado pelo path .

2. Usando um objeto do arquivo
FileInputStream input = new FileInputStream(File fileObject);

Aqui, criamos um fluxo de entrada que será vinculado ao arquivo especificado por fileObject .

Métodos de FileInputStream


O FileInputStream classe fornece implementações para diferentes métodos presentes no InputStream classe.

Método read()


Suponha que temos um arquivo chamado input.txt com o seguinte conteúdo.
This is a line of text inside the file.

Vamos tentar ler este arquivo usando FileInputStream .
import java.io.FileInputStream;

public class Main {

  public static void main(String args[]) {

     try {
        FileInputStream input = new FileInputStream("input.txt");

        System.out.println("Data in the file: ");

        // Reads the first byte
        int i = input.read();

       while(i != -1) {
           System.out.print((char)i);

           // Reads next byte from the file
           i = input.read();
        }
        input.close();
     }

     catch(Exception e) {
        e.getStackTrace();
     }
  }
}

Saída
Data in the file:
This is a line of text inside the file.



No exemplo acima, criamos um fluxo de entrada de arquivo chamado input . O fluxo de entrada está vinculado ao input.txt Arquivo.
FileInputStream input = new FileInputStream("input.txt");

Para ler os dados do arquivo, usamos o read() método dentro do loop while.

Método available()


Para obter o número de bytes disponíveis, podemos usar o available() método. Por exemplo,
import java.io.FileInputStream;

public class Main {

   public static void main(String args[]) {

      try {
         // Suppose, the input.txt file contains the following text
         // This is a line of text inside the file.
         FileInputStream input = new FileInputStream("input.txt");

         // Returns the number of available bytes
         System.out.println("Available bytes at the beginning: " + input.available());

         // Reads 3 bytes from the file
         input.read();
         input.read();
         input.read();

         // Returns the number of available bytes
         System.out.println("Available bytes at the end: " + input.available());

         input.close();
      }

      catch (Exception e) {
         e.getStackTrace();
      }
   }
}

Saída
Available bytes at the beginning: 39
Available bytes at the end: 36

No exemplo acima,
  1. Primeiro usamos o available() método para verificar o número de bytes disponíveis no fluxo de entrada do arquivo.
  2. Usamos então o read() método 3 vezes para ler 3 bytes do fluxo de entrada do arquivo.
  3. Agora, depois de ler os bytes, verificamos novamente os bytes disponíveis. Desta vez, os bytes disponíveis diminuíram em 3.

Método skip()


Para descartar e pular o número especificado de bytes, podemos usar o skip() método. Por exemplo,
import java.io.FileInputStream;

public class Main {

   public static void main(String args[]) {

      try {
         // Suppose, the input.txt file contains the following text
         // This is a line of text inside the file.
         FileInputStream input = new FileInputStream("input.txt");

         // Skips the 5 bytes
         input.skip(5);
         System.out.println("Input stream after skipping 5 bytes:");

         // Reads the first byte
         int i = input.read();
         while (i != -1) {
            System.out.print((char) i);

            // Reads next byte from the file
            i = input.read();
         }

         // close() method
         input.close();
      }
      catch (Exception e) {
         e.getStackTrace();
      }
   }
}

Saída
Input Stream after skipping 5 bytes:
is a line of text inside the file.

No exemplo acima, usamos o skip() método para pular 5 bytes de dados do fluxo de entrada de arquivo. Portanto, os bytes que representam o texto "This " não é lido do fluxo de entrada.

método close()


Para fechar o fluxo de entrada do arquivo, podemos usar o close() método. Uma vez que o close() é chamado, não podemos usar o fluxo de entrada para ler os dados.

Em todos os exemplos acima, usamos o close() método para fechar o fluxo de entrada do arquivo.

Outros métodos de FileInputStream

Métodos Descrições
finalize() garante que o close() método é chamado
getChannel() retorna o objeto de FileChannel associado ao fluxo de entrada
getFD() retorna o descritor de arquivo associado ao fluxo de entrada
mark() marcar a posição no fluxo de entrada até a qual os dados foram lidos
reset() retorna o controle ao ponto no fluxo de entrada onde a marca foi definida

Para saber mais, visite Java FileInputStream (documentação oficial do Java).

Java

  1. Palavra-chave final Java
  2. Java instanceof Operator
  3. Classe estática aninhada em Java
  4. Classe anônima Java
  5. Classe Java Singleton
  6. Reflexão Java
  7. Classe Java ObjectOutputStream
  8. Classe Java BufferedReader
  9. Classe de scanner Java
  10. Genéricos Java