Java 中的输入输出流是在程序中读取和写入数据的重要方式。输入流用于读取数据,输出流用于将数据写入到指定的目标。根据数据的类型,Java 的输入输出流可以分为字符型输入输出流和字节型输入输出流两种。
字符流以字符为单位进行读写,通常用于操作文本文件,如 txt 文件。字符流的基本操作对象是基于 Unicode 编码的字符,因此字符流在处理文本时能够很好地处理各种字符编码问题。在 Java 中,字符输入输出流的基本类是 Reader 和 Writer,常用类有 FileReader、FileWriter、BufferedReader、BufferedWriter 等。
try {
File file = new File("test.txt");
FileReader reader = new FileReader(file);
BufferedReader br = new BufferedReader(reader);
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
br.close();
} catch (IOException e) {
e.printStackTrace();
}
字节流以字节(byte)为单位进行读写,通常用于操作二进制文件,如图片、音频、视频等。字节流的基本操作对象是字节数据,因此字节流适用于处理各种类型的二进制数据。在 Java 中,字节输入输出流的基本类是 InputStream 和 OutputStream,常用类有 FileInputStream、FileOutputStream、BufferedInputStream、BufferedOutputStream 等。
try {
File file = new File("image.jpeg");
FileInputStream fis = new FileInputStream(file);
BufferedInputStream bis = new BufferedInputStream(fis);
byte[] buffer = new byte[1024];
int len;
while ((len = bis.read(buffer)) != -1) {
// 对字节数组进行处理
}
bis.close();
} catch (IOException e) {
e.printStackTrace();
}
以上是关于 Java 输入输出流分为字符型和字节型的介绍,希望能对读者有所帮助。