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

Java中常用的IO函数及其用法

发布时间:2023-05-19 01:25:54

Java是一种面向对象编程语言,具有良好的可移植性和安全性,广泛应用于各种应用程序的开发中。IO(Input/Output)函数是Java中常用的一种操作,通过IO函数可以实现对输入输出流的读写操作。下面介绍Java中常用的IO函数及其用法。

1. InputStream和OutputStream

InputStream和OutputStream是Java中基本的IO函数,它们是抽象类,不能实例化。InputStream是所有输入流的基类,而OutputStream是所有输出流的基类。通过这两个类,可以实现对文件、网络等各种数据流的读取和写入。

InputStream的常用方法有:

- int read() :读取单个字节并返回。

- int read(byte[] b) :一次读取多个字节,将读取的字节存储到字节数组b中。

- int read(byte[] b, int off, int len):读取指定长度的字节,并将其存储到指定位置。

OutputStream的常用方法有:

- void write(int b) :写入一个字节。

- void write(byte[] b) :一次写入多个字节。

- void write(byte[] b, int off, int len):写入指定长度的字节。

2. FileInputStream和FileOutputStream

FileInputStream和FileOutputStream是Java中对文件进行读写的类。它们继承了InputStream和OutputStream类,与之相对应,具有更多的读写方法。

FileInputStream的构造函数:

- FileInputStream(File file):使用指定的File对象创建一个新的FileInputStream。

- FileInputStream(String name) :根据指定的文件名创建一个新的FileInputStream。

FileOutputStream的构造函数:

- FileOutputStream(File file):使用指定的File对象创建一个新的FileOutputStream。

- FileOutputStream(String name) :根据指定的文件名创建一个新的FileOutputStream。

使用FileInputStream和FileOutputStream可以实现对文件的复制、删除、移动、重命名等功能。

3. BufferedInputStream和BufferedOutputStream

BufferedInputStream和BufferedOutputStream是Java中的缓冲流,它们继承了InputStream和OutputStream。相比于原始的InputStream和OutputStream,使用缓冲流可以提高IO的效率,减少IO系统调用的次数。

BufferedInputStream常用方法有:

- void mark(int readlimit) :在当前位置设置标记。

- void reset() :回到最近的标记处。

- int available() :返回一个估计值,指示还剩下多少可读取的字节数。

BufferedOutputStream常用方法有:

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

- void close() :关闭该流并释放与之关联的所有资源。

使用BufferedInputStream和BufferedOutputStream可以实现对文本、二进制等多种数据格式的读写操作。

4. InputStreamReader和OutputStreamWriter

InputStreamReader和OutputStreamWriter是Java中的字符流,它们继承了Reader和Writer。与InputStream和OutputStream不同的是,它们可以读写字符而不是字节。

InputStreamReader常用方法有:

- int read() :读取单个字符并返回。

- int read(char[] cbuf) :一次读取多个字符,将读取的字符存储到字符数组cbuf中。

- int read(char[] cbuf, int off, int len):读取指定长度的字符,并将其存储到指定位置。

OutputStreamWriter常用方法有:

- void write(int c) :写入单个字符。

- void write(char[] cbuf) :一次写入多个字符。

- void write(char[] cbuf, int off, int len):写入指定长度的字符。

使用InputStreamReader和OutputStreamWriter可以实现对文本文件的读写,支持多种编码格式。

5. DataInputStream和DataOutputStream

DataInputStream和DataOutputStream是Java中的数据流,它们可以实现对基本数据类型和字符串的读写。

DataInputStream常用方法有:

- boolean readBoolean() :读取一个boolean值。

- int readInt() :读取一个int值。

- String readUTF() :读取一个以UTF-8编码的字符串。

DataOutputStream常用方法有:

- void writeBoolean(boolean v) :写入一个boolean值。

- void writeInt(int v) :写入一个int值。

- void writeUTF(String str) :写入一个以UTF-8编码的字符串。

使用DataInputStream和DataOutputStream可以实现对基本数据类型和字符串的快速读写。

总结:Java中常用的IO函数有InputStream和OutputStream、FileInputStream和FileOutputStream、BufferedInputStream和BufferedOutputStream、InputStreamReader和OutputStreamWriter、DataInputStream和DataOutputStream等。使用这些IO函数可以实现对文本、二进制、基本数据类型和字符串等各种数据格式的读写操作。在实际应用中,根据不同的需求和数据类型选择适合的IO函数,可以提高程序效率和可读性。