一、IO流概念与应用
-
什么是IO流?
想象一下水管流水,水从一端流入流出的过程就像是数据在程序中的传输。在Java世界里,IO流就是这样一个抽象概念,它是数据在不同存储介质或网络之间传输的一种方式。简单来说,如果你把数据看作水流,那么IO流就是承载这个水流的管道,它可以用来读取文件、网络数据,也可以用来写出数据到文件、网络中去。
// 创建一个字节流来读取文件
FileInputStream fis = new FileInputStream("test.txt");
byte[] buffer = new byte[1024];
int len;
while ((len = fis.read(buffer)) != -1) {// 处理读取到的字节流
}
fis.close();// 创建一个字节流来写出数据到文件
FileOutputStream fos = new FileOutputStream("output.txt");
fos.write("Hello, World!".getBytes());
fos.close();
-
IO流分类
Java的IO流分为两大类:字节流和字符流。
• 字节流:处理原始的二进制数据,如InputStream和OutputStream及其子类,适用于读写图片、音频、视频等非文本文件。
• 字符流:基于字节流之上,加入了字符集转换,用于处理文本数据,如Reader和Writer及其子类,便于我们直接操作字符而非字节。