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

Java中字符流和字节流函数详解

发布时间:2023-06-15 16:29:40

在Java中,字符流和字节流是两种输入/输出(I/O)方式。虽然它们都用于从文件和网络中读取或写入数据,但是它们使用的基本单位不同。字节流以字节为单位输入/输出数据,而字符流以字符为单位输入/输出数据。Java中的字符流和字节流类在java.io包中定义。下面是Java中一些常见的字符流和字节流函数。

### 字节流函数

#### FileInputStream

FileInputStream类用于从文件中读取字节数据。它的构造函数可以接收一个文件名或一个File对象作为参数。以下是几个常用的FileInputStream函数:

int read():读取单个字节并返回。如果到达文件末尾,返回-1。

int read(byte[] b):从文件中读取一定数量的字节并存储在缓冲区b中。返回读取的字节数。如果读取到文件末尾,返回-1。

int available():返回文件中尚未读取的字节数。

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

#### FileOutputStream

FileOutputStream类用于向文件中写入字节数据。它的构造函数可以接收一个文件名或一个File对象作为参数。以下是几个常用的FileOutputStream函数:

void write(int b):将单个字节写入文件。

void write(byte[] b):将缓冲区b中的字节写入文件。

void flush():将所有缓冲的输出字节强制写入文件。

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

### 字符流函数

#### FileReader

FileReader类用于从文件中读取字符数据。它的构造函数可以接收一个文件名或一个File对象作为参数。以下是几个常用的FileReader函数:

int read():读取一个字符并返回。如果到达文件末尾,返回-1。

int read(char[] cbuf):从文件中读取一定数量的字符并存储在缓冲区cbuf中。返回读取的字符数。如果读取到文件末尾,返回-1。

int skip(long n):跳过n个字符并返回实际跳过的字符数。

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

#### FileWriter

FileWriter类用于向文件中写入字符数据。它的构造函数可以接受一个文件名或一个File对象作为参数。以下是几个常用的FileWriter函数:

void write(int c):将单个字符写入文件。

void write(char[] cbuf):将缓冲区cbuf中的字符写入文件。

void write(String str):将字符串写入文件。

void flush():将所有缓冲的输出字符强制写入文件。

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

#### BufferedReader/BufferedWriter

BufferedReader和BufferedWriter是用于缓存读取和写入数据的字符流类。例如,如果您希望从文件中读取行,您可以使用BufferedReader,并使用其readLine()函数。以下是几个常用的BufferedReader和BufferedWriter函数:

String readLine():读取文件中的一行并返回。

void write(String str):将字符串写入文件。

void newLine():写入一个换行符。

void flush():将所有缓冲的输出字符强制写入文件。

void close():关闭流并释放与其关联的所有系统资源。

总结

在Java中,有两种基本的I/O方式:字符流和字节流。字节流函数用于从文件中读取/写入字节数据,而字符流函数用于从文件中读取/写入字符数据。在选择合适的I/O方式时,请根据您的目标数据类型选择最适合的流。