Java FilterInputStream.read()方法

原文:https://www.studytonight.com/java-file-io/java-filterinputstream-read-method

在本教程中,我们将学习 JavaFilterInputStream 类的read()方法。此方法用于从当前输入流中读取一个字节的数据。如果没有可用的输入,它将阻塞。这是一个非静态方法,在 java.io 包中可用。

句法

这是此方法的语法声明。它不接受任何参数,并返回数据的下一个字节,如果到达文件末尾,则返回-1。

public int read()

示例 1:用 Java 从输入流中读取字节

在下面的示例中,我们将从文件中读取数据。首先,我们通过在构造器中传递文件路径,使用 FilterInputStream 类创建了一个输入流。然后使用 read()方法,我们逐个读取每个字符,直到流到达末尾。当我们到达流的末尾时,它返回-1。

package com.studytonight;

import java.io.IOException;
import java.io.FilterInputStream;

public class studytonight {
   public static void main(String[] args) throws IOException {
      FilterInputStream st = null;
      int i = 0;
      char c;

      try
      {
         st = new FilterInputStream("E:/studytonight/output.txt");

         while((i = st.read())!=-1) 
         {

            c = (char)i;

            System.out.print(c);
         }

      }
      catch(Exception ex)
      {
         ex.printStackTrace();
      }  
   }
}

输出. txt

Hello Studytonight

你好,今晚学习

示例 2:用 Java 从输入流中读取字节

在本例中,我们从流中读取数据,然后打印该数据。此方法从当前流中读取并返回一个字节的数据。

import java.io.FilterInputStream;

public class StudyTonight{

  public static void main(String args[]) {

     try 
    {
        FilterInputStream input = new FilterInputStream("E:/studytonight/input.txt");

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

        int i = input.read();

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

           i = input.read();
        }
        input.close();
     }

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

input.txt

Let's be studytonight curious

文件中的数据: 今晚让我们好奇的学习

结论:

在本教程中,我们学习了 JavaFilterInputStream 类的read()方法。它从当前输入流中读取下一个字节的数据并返回。它只能用类对象访问,如果我们试图用类名访问方法,那么我们会得到一个错误。