大家好,又见面了,我是你们的朋友全栈君。
Java InputStream 类
在本教程中,我们将通过一个示例来学习Java InputStream类及其方法。
java.io包的InputStream类是一个抽象超类,它表示字节的输入流。
由于InputStream是抽象类,因此它本身没有用。但是,其子类可用于读取数据。
InputStream的子类
为了使用的InputStream功能,我们可以使用其子类。它的子类有:
在下一个教程中,我们将学习所有这些子类。
创建一个InputStream
为了创建InputStream,我们必须首先导入java.io.InputStream包。导入包后,就可以创建输入流。
// 创建一个InputStream
InputStream object1 = new FileInputStream();
在这里,我们使用FileInputStream创建了一个输入流。这是因为InputStream是一个抽象类。因此,我们不能创建InputStream的对象。
注意:我们还可以从InputStream的其他子类创建输入流。
InputStream的方法
InputStream类提供了由其子类实现的不同方法。以下是一些常用的方法read() – 从输入流中读取一个字节的数据
read(byte[] array) – 从流中读取字节并存储在指定的数组中
available() – 返回输入流中可用的字节数
mark() – 标记输入流中数据所在的位置
reset() -将控制点返回到流中设置标记的点
markSupported()- 检查流中是否支持mark()和reset()方法
skips() – 跳过和丢弃输入流中的指定字节数
close() – 关闭输入流
示例:InputStream使用FileInputStream
下面是使用FileInputStream类实现InputStream的方法。
假设我们有一个名为input.txt的文件,其中包含以下内容。
示例
这是文件中的一行文本。
让我们尝试使用FileInputStream (InputStream的子类)来读取这个文件。
示例
import java.io.FileInputStream;
import java.io.InputStream;
public class Main {
public static void main(String args[]) {
byte[] array = new byte[100];
try {
InputStream input = new FileInputStream(“input.txt”);
System.out.println(“文件中的可用字节: ” + input.available());
//从输入流中读取字节
input.read(array);
System.out.println(“从文件读取的数据: “);
//将字节数组转换为字符串
String data = new String(array);
System.out.println(data);
//关闭输入流
input.close();
}
catch (Exception e) {
e.getStackTrace();
}
}
}
输出结果
示例
文件中的可用字节: 35
从文件读取的数据:
这是文件中的一行文本。
在上面的示例中,我们使用FileInputStream类创建了输入流。输入流与文件input.txt链接。
示例
InputStream input = new FileInputStream(“input.txt”);
为了从input.txt文件中读取数据,我们实现了这两种方法。
示例
input.read(array); //从输入流中读取数据
input.close(); //关闭输入流
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/192611.html原文链接:https://javaforall.cn