Java FilterInputStream.read()
方法
原文:https://www.studytonight.com/java-file-io/java-filterinputstream-read-method
在本教程中,我们将学习 Java 中 FilterInputStream 类的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
文件中的数据: 今晚让我们好奇的学习
结论:
在本教程中,我们学习了 Java 中 FilterInputStream 类的read()
方法。它从当前输入流中读取下一个字节的数据并返回。它只能用类对象访问,如果我们试图用类名访问方法,那么我们会得到一个错误。