Java中的输入输出流函数使用
在Java中,输入输出流是用于从文件、网络或其他设备中读取数据或向这些设备中写入数据的机制。Java提供了丰富的输入输出流类和函数,以下是常用的输入输出流函数的使用方法:
1. 字节流函数:
a. FileInputStream和FileOutputStream:用于从文件中读取字节和向文件中写入字节。
b. BufferedInputStream和BufferedOutputStream:用于提供带缓冲的读取和写入字节数据,提高性能。
c. DataInputStream和DataOutputStream:用于读写基本数据类型的值(如int、float、double等)。
d. ByteArrayInputStream和ByteArrayOutputStream:用于从内存中读取字节和向内存中写入字节。
2. 字符流函数:
a. FileReader和FileWriter:用于从文件中读取字符和向文件中写入字符。
b. BufferedReader和BufferedWriter:用于提供带缓冲的读取和写入字符数据,提高性能。
c. InputStreamReader和OutputStreamWriter:用于将字节流转换为字符流,可以指定字符集进行转换。
d. CharArrayReader和CharArrayWriter:用于从内存中读取字符和向内存中写入字符。
3. 对象流函数:
a. ObjectInputStream和ObjectOutputStream:用于读写Java对象,可以实现对象的序列化和反序列化。
b. ObjectOutputStream的writeObject方法用于将对象写入输出流。
c. ObjectInputStream的readObject方法用于从输入流中读取对象。
4. 标准输入输出流函数:
a. System.in是标准输入流,可以使用Scanner类的next方法读取用户输入。
b. System.out是标准输出流,可以使用System.out.println方法打印输出结果。
下面是一个简单的示例,演示了使用FileInputStream和FileOutputStream读写文件的过程:
import java.io.*;
public class Main {
public static void main(String[] args) {
try {
// 创建文件输入流
FileInputStream fis = new FileInputStream("input.txt");
// 创建文件输出流
FileOutputStream fos = new FileOutputStream("output.txt");
int data;
// 从输入流读取字节并写入输出流
while ((data = fis.read()) != -1) {
fos.write(data);
}
// 关闭输入输出流
fis.close();
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
上述代码会将input.txt文件中的内容复制到output.txt文件中。
这只是输入输出流函数的基本使用方法,Java中还提供了更多高级的输入输出流函数和类,如PipedInputStream和PipedOutputStream用于线程之间的通信,PrintStream和PrintWriter用于格式化输出,以及各种网络流等。
请注意,在使用输入输出流时,要及时关闭流以释放系统资源,并进行异常处理以应对可能的错误。
