Java输入输出流常用函数详解
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程序员提供了高效的输入输出操作方案。
