Java FileInputStream.read()方法

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

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

句法

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

public int read()

示例 1:用 Java 读取字节的数据

在这个例子中,我们使用 FileInputStream 类的 read()方法从输入流中读取字节。请看下面的例子。

package com.studytonight;

import java.io.IOException;
import java.io.FileInputStream;

public class FileInputStreamDemo {
   public static void main(String[] args) throws IOException {
      FileInputStream fis = null;
      int i = 0;
      char c;

      try 
      {
         fis = new FileInputStream("E://studytonight//output.txt");

         while((i = fis.read())!=-1) {
            c = (char)i;

            System.out.print(c);
         }

      } 
      catch(Exception e) 
      {
         System.out.println("Error: "+e.toString());
      }  
   }
}

输出. txt

Hello Studytonight

你好,今晚学习

示例 2:用 Java 读取字节的数据

这是理解 FileInputStream 类的 read()方法用法的另一个例子。请看下面的例子。

import java.io.FileInputStream;

public class Main {

  public static void main(String args[]) {

     try {
        FileInputStream input = new FileInputStream("E://studytonight//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();
     }
  }
}

input.txt

Let's be studytonight curious

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

结论

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