java中inputstream用法
Java中的InputStream是一个抽象类,它是所有输入流的父类。InputStream提供了一些方法来读取字节流,可以从文件、网络、内存等多种数据源中读取数据。本文将详细介绍Java中InputStream的用法。
一、InputStream概述
1.1 InputStream的作用
InputStream用于从各种数据源中读取字节流。它提供了一些方法来读取字节流,并且可以处理不同类型的数据源,包括文件、网络、内存等。
1.2 InputStream的继承关系
InputStream是一个抽象类,它有许多子类,如FileInputStream、ByteArrayInputStream、PipedInputStream等。
1.3 InputStream的常用方法
常用方法如下:
- int read():从输入流中读取一个字节,并返回该字节的值。如果已经到达流的末尾,则返回-1。
- int read(byte[] b):从输入流中读取一定量的字节,并将其存储在缓冲区数组b中。返回实际读取的字节数。
- int read(byte[] b, int off, int len):从输入流中读取最多len个字节,并将其存储在缓冲区数组b中,开始存储位置为off。返回实际读取的字节数。
- long skip(long n):跳过并丢弃此输入流中n个字节。
- int available():返回此输入流可以不受阻塞地从此输入流中读取(或跳过)的字节数。
- void close():关闭此输入流并释放与该流关联的所有系统资源。
二、InputStream子类java stream
2.1 FileInputStream
FileInputStream用于从文件中读取数据。它继承自InputStream类,可以使用read()方法从文件中读取一个字节,并返回该字节的值。如果已经到达文件的末尾,则返回-1。
2.2 ByteArrayInputStream
ByteArrayInputStream用于从内存中读取数据。它继承自InputStream类,可以使用read()方法从内存中读取一个字节,并返回该字节的值。如果已经到达内存的末尾,则返回-1。
2.3 PipedInputStream
PipedInputStream用于从管道中读取数据。它继承自InputStream类,可以使用read()方法从管道中读取一个字节,并返回该字节的值。如果已经到达管道的末尾,则返回-1。
三、使用示例
3.1 从文件中读取数据
下面是一个简单示例,演示如何从文件中读取数据:
```java
import java.io.*;
public class FileInputStreamDemo {
public static void main(String[] args) throws Exception {
FileInputStream fis = new FileInputStream("");
int data = ad();
while (data != -1) {
System.out.print((char) data);
data = ad();
}
fis.close();
}
}
```
上面代码首先创建了一个FileInputStream对象fis,然后使用read()方法逐个字节地读取文件内容,并将其输出到控制台。最后,使用close()方法关闭输入流。
3.2 从内存中读取数据
下面是一个简单示例,演示如何从内存中读取数据:
```java
import java.io.*;
public class ByteArrayInputStreamDemo {
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论