Java 函数库中的 I/O 数据流工具主要包括:InputStream:抽象输入流OutputStream:抽象输出流FileInputStream:从文件读取字节FileOutputStream:向文件写入字节ByteArrayInputStream:从字节数组读取字节ByteArrayOutputStream:向字节数组写入字节BufferedInputStream:带缓冲区的输入流,提高性能BufferedOutputStream:带缓冲区的输出流,提高性能DataInputStream:从输入流读取基本数据类型DataOutputStream:向输出流写入基本数据类型
简介
数据流工具在 Java 中用来处理二进制数据,在输入/输出 (I/O) 操作中非常有用。Java 函数库提供了多个 I/O 数据流工具,本文将介绍最常用的工具,并提供实战案例。
常用数据流工具
工具 | 描述 |
---|---|
InputStream |
抽象输入流 |
OutputStream |
抽象输出流 |
FileInputStream |
从文件读取字节 |
FileOutputStream |
向文件写入字节 |
ByteArrayInputStream |
从字节数组读取字节 |
ByteArrayOutputStream |
向字节数组写入字节 |
BufferedInputStream |
带缓冲区的输入流,提高性能 |
BufferedOutputStream |
带缓冲区的输出流,提高性能 |
DataInputStream |
从输入流读取基本数据类型 |
DataOutputStream |
向输出流写入基本数据类型 |
实战案例
读取文本文件
import java.io.FileInputStream; import java.io.IOException; public class ReadTextFile { public static void main(String[] args) { try (FileInputStream fis = new FileInputStream("myfile.txt")) { // 逐字节读取文件 int c; while ((c = fis.read()) != -1) { System.out.print((char) c); } } catch (IOException e) { e.printStackTrace(); } } }
写入文本文件
import java.io.FileOutputStream; import java.io.IOException; public class WriteTextFile { public static void main(String[] args) { try (FileOutputStream fos = new FileOutputStream("myfile.txt")) { // 写入文本 String text = "Hello, world!"; fos.write(text.getBytes()); } catch (IOException e) { e.printStackTrace(); } } }
从字节数组读取基本数据类型
import java.io.ByteArrayInputStream; import java.io.DataInputStream; import java.io.IOException; public class ReadBasicTypesFromBytes { public static void main(String[] args) { // 定义字节数组并写入基本数据类型 byte[] bytes = {1, 2, 3, 4}; ByteArrayInputStream bis = new ByteArrayInputStream(bytes); DataInputStream dis = new DataInputStream(bis); try { // 读取基本数据类型 int i = dis.readInt(); System.out.println("Int: " + i); } catch (IOException e) { e.printStackTrace(); } } }
向字节数组写入基本数据类型
import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; import java.io.IOException; public class WriteBasicTypesToBytes { public static void main(String[] args) { // 创建字节数组输出流 ByteArrayOutputStream bos = new ByteArrayOutputStream(); DataOutputStream dos = new DataOutputStream(bos); try { // 写入基本数据类型 dos.writeInt(12345); dos.flush(); // 获取字节数组 byte[] bytes = bos.toByteArray(); } catch (IOException e) { e.printStackTrace(); } } }
以上是Java 函数库中都有哪些常用 I/O 数据流工具?的详细内容。更多信息请关注PHP中文网其他相关文章!