Java中常用的IO函数及其用法
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函数,可以提高程序效率和可读性。
