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

Java输入输出流常用函数详解

发布时间:2023-06-12 16:01:23

Java输入输出流是Java语言基础中重要的部分。在Java中,输入与输出流是由java.io包中的类和接口所提供。

输入流(InputStream):从某个源读取数据,并且将这些数据传输到Java程序中。

输出流(OutputStream):将Java程序中的数据输出到某个目标中。

下面,我们将对常用的Java输入输出流函数进行详解。

1. FileInputStream类

FileInputStream是Java输入流中最常用的类。这个类继承了InputStream类。它提供了读取文件数据的方法,并且可以操作所有类型的文件,包括二进制文件和文本文件。

FileInputStream类的构造函数:

FileInputStream(File file):创建一个指定文件的输入流

FileInputStream(String fileName):创建一个指定文件名的输入流

FileInputStream类的读取方法:

int read():读取一个字节,并且返回它

int read(byte[] b):将字节读入一个缓冲区,并且返回读取的字节数量

int read(byte[] b, int off, int len):从输入流中将字节读入一个缓冲区,并且具有偏移量和长度

void close():关闭这个输入流

long skip(long n):跳过并且将n个字节从输入流中丢弃

2. FileOutputStream类

FileOutputStream是Java输出流中最常用的类。这个类继承了OutputStream类。它提供了写入文件数据的方法,并且可以操作所有类型的文件,包括二进制文件和文本文件。

FileOutputStream类的构造函数:

FileOutputStream(File file):创建一个指定文件的输出流

FileOutputStream(String fileName):创建一个指定文件名的输出流

FileOutputStream(File file, boolean append):创建一个指定文件的输出流,并且指定文件是否要被追加

FileOutputStream类的写入方法:

void write(int b):将指定的数据写入文件

void write(byte[] b):将字节数组写入文件

void write(byte[] b, int off, int len):将字节数组的一部分写入文件

void flush():清空本地内容缓存区,将未写入磁盘的数据强制写入磁盘并清空缓存区

void close():关闭这个输出流

3. InputStreamReader类

InputStreamReader是用于将InputStream的字节数据转换为字符数据的类。它可以将任何字符集的数据转换为Java程序中的Unicode字符。

InputStreamReader类的构造函数:

InputStreamReader(InputStream in):构造一个使用默认字符集的InputStreamReader。

InputStreamReader(InputStream in, String charsetName):构造一个指定字符集的InputStreamReader。

InputStreamReader类的读取方法:

int read():读取一个字符,并且返回它

int read(char[] cbuf, int offset, int length):将字符读入一个缓冲区,并且具有偏移量和长度。

void close():关闭这个输入流。

4. OutputStreamWriter类

OutputStreamWriter是用于将字符数据转换为OutputStream的字节数据的类。它可以将Java程序中的Unicode字符转换为任何字符集的数据。

OutputStreamWriter类的构造函数:

OutputStreamWriter(OutputStream out):构造一个使用操作系统默认字符集的OutputStreamWriter。

OutputStreamWriter(OutputStream out, String charsetName):构造一个指定字符集的OutputStreamWriter。

OutputStreamWriter类的写入方法:

void write(int c):将指定的字符写入文件

void write(char[] cbuf, int off, int len):将字符数组的一部分写入文件

void flush():清空本地内容缓存区,将未写入磁盘的数据强制写入磁盘并清空缓存区

void close():关闭这个输出流

                  

以上是Java输入输出流常用的几个类和方法,它们都具有不同的特点和优势,可以根据需要灵活应用。这些常用的类和方法,为Java程序员提供了高效的输入输出操作方案。