目录
Java 中的输入输出(I/O)流主要分为字节流和字符流。这两类流为开发者提供了高效的文件读写方式,也解决了不同编码格式下的字符处理问题。本文将带你深入了解字节流和字符流的区别、应用场景以及如何使用它们处理文件操作。
一、什么是字节流?
字节流是以**字节(byte)**为单位操作数据的流。它用于处理所有类型的文件,包括文本文件、图片、视频等。字节流不关心数据的编码方式,直接传输文件的原始字节。
Java 中提供了字节流的两个顶层抽象类:
InputStream:表示输入字节流,用于读取数据。OutputStream:表示输出字节流,用于写入数据。
字节流的常见实现类:
FileInputStream和FileOutputStream:用于操作文件。BufferedInputStream和BufferedOutputStream:带缓冲功能的字节流,提升了读写效率。
示例:用字节流复制一个文件
以下代码展示了如何使用字节流读取一个文件并将其写入另一个文件:
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class ByteStreamExample {
public static void main(String[] args) {
String sourceFile = "source.txt"; // 源文件路径
String destinationFile = "destination.txt"; // 目标文件路径
try (FileInputStream fis = new FileInputStream(sourceFile);
FileOutputStream fos = new FileOutputStream(destinationFile)) {
byte[] buffer = new byte[1024]; // 每次读取1KB的数据
int bytesRead;
while ((bytesRead = fis.read(buffer)) != -1) {
fos.write(buffer, 0, bytesRead);
}
System.out.println("文件复制成功!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
关键点:
FileInputStr

1938

被折叠的 条评论
为什么被折叠?



