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