欢迎访问宙启技术站
智能推送

Java 中的输入输出流函数有哪些?

发布时间:2023-05-28 01:41:44

在 Java 中,输入输出流(Input/Output Stream)是处理数据的机制,允许数据从一个地方流动到另一个地方。这些流可用于读取或写入数据到不同的设备,如文件、网络连接、命令行终端等。在本篇文章中,我们将介绍 Java 中的一些常见的输入输出流函数。

一、InputStream 和 OutputStream 类

InputStream 和 OutputStream 是 Java 中最基本的输入输出类,所有的输入输出流类都是从这两个类派生而来的。它们分别提供了读取和写入字节流的方法。下面是一些常见的 InputStream 和 OutputStream 方法。

1. InputStream 方法

- int read():从输入流中读取下一个字节,返回-1表示已到达流的末尾。

- int read(byte b[]):从输入流中读取一定数量的字节,并将其存储到缓冲区 b 中,返回实际读取的字节数。

- int read(byte b[], int off, int len):从输入流中读取指定长度的字节,并将其存储到缓冲区 b 中的指定偏移量 off 处,返回实际读取的字节数。

- long skip(long n):跳过和丢弃输入流中给定数量的字节。

2. OutputStream 方法

- void write(int b):将指定字节写入输出流中。

- void write(byte b[]):将指定字节数组中的所有字节写入输出流中。

- void write(byte b[], int off, int len):将指定字节数组中的指定长度的字节写入输出流中。

- void flush():刷新输出流,强制任何缓冲的字节被写入输出流。

二、FileInputStream 和 FileOutputStream 类

FileInputStream 和 FileOutputStream 类用于读取和写入文件。它们是 InputStream 和 OutputStream 的子类,用于将字节写入文件或从文件中读取字节。使用 File 类来指定要读取或写入的文件的路径和名称。

1. FileInputStream 方法

- FileInputStream(File file):创建一个文件输入流以读取指定的 File 对象表示的文件。

- int available():返回剩余的可用字节数。

- void close():关闭该文件输入流,并释放与其关联的所有系统资源。

- int read():从输入流中读取下一个字节,返回-1表示已到达流的末尾。

- int read(byte[] b):从输入流中读取一定数量的字节,并将其存储到缓冲区 b 中,返回实际读取的字节数。

2. FileOutputStream 方法

- FileOutputStream(File file):创建一个文件输出流以写入指定的 File 对象表示的文件。

- void close():关闭该文件输出流,并释放与其关联的所有系统资源。

- void write(int b):将指定字节写入文件输出流中。

- void write(byte[] b):将指定字节数组中的所有字节写入文件输出流中。

三、ByteInputStream 和 ByteArrayOutputStream 类

ByteInputStream 和 ByteArrayOutputStream 类用于将字节流保存在内存中。它们提供了 read() 和 write() 方法来读取和写入字节,因此可以将输入源和输出目标视为内存中的字节数组。

1. ByteInputStream 方法

- ByteInputStream(byte[] buffer):创建一个用于读取给定缓冲区的 ByteInputStream 对象。

- int read():从输入流中读取下一个字节,返回-1表示已到达流的末尾。

- int read(byte[] b,int off, int len):从输入流中读取指定长度的字节,并将其存储到缓冲区 b 中的指定偏移量 off 处,返回实际读取的字节数。

2. ByteArrayOutputStream 方法

- ByteArrayOutputStream():创建一个新的字节数组输出流。

- int size():返回当前输出流中的字节数。

- void write(byte[] b,int off, int len):将指定字节数组中的指定长度的字节写入输出流中。

- byte[] toByteArray():将此输出流的缓冲区作为字节数组返回。

四、DataInputStream 和 DataOutputStream 类

DataInputStream 和 DataOutputStream 类允许您以 Java 的基本数据类型读写数据。DataInputStream 和 DataOutputStream 继承了 FilterInputStream 和 FilterOutputStream,这两个类将数据从一个数据流读取到另一个数据流。

1. DataInputStream 方法

- DataInputStream(InputStream in):创建一个读取来自指定输入流的原始数据类型的 DataInputStream。

- double readDouble():从输入流中读取一个双精度浮点数。

- float readFloat():从输入流中读取一个浮点数。

- int readInt():从输入流中读取一个整数。

- String readUTF():从输入流中读取字符串。

2. DataOutputStream 方法

- DataOutputStream(OutputStream out):创建一个将数据写入指定输出流的 DataOutputStream。

- void write(byte[] b,int off,int len):将指定字节数组中的指定长度的字节写入输出流中。

- void writeDouble(double value):将双精度浮点数写入输出流中。

- void writeFloat(float value):将浮点数写入输出流中。

- void writeInt(int value):将整数写入输出流中。

- void writeUTF(String str):将字符串写入输出流中。

总结

Java 提供了很多输入输出流函数,本篇文章中只介绍了一些常见的和基础的函数。输入输出流是 Java 编程中很重要的一部分,开发者需要对常见流的操作方法和应用场景熟悉掌握,才能更好地编写高效的 Java 程序并处理各种输入输出数据。