输入输出流 建一个学生成绩表,利用Java IO相关技术特别是缓冲流、对象流来实现文件内容的读写。
时间: 2024-10-28 20:10:17 浏览: 28
输入输出流(Input/Output Stream)在Java中是用来处理程序与外部数据源(如磁盘、网络或终端等)之间数据交换的重要机制。它分为两大类:字节流(Byte Streams)和字符流(Character Streams)。当你需要操作的是原始字节或字符串时,会分别使用InputStream和OutputStream,以及它们的子类如FileInputStream/FileOutputStream。
在学生成绩表的例子中,我们可以创建一个简单的步骤:
1. **打开流**:首先,你需要创建FileInputStream(读取)或FileOutputStream(写入)来连接到存储成绩的文本文件。
```java
File file = new File("scores.txt");
BufferedInputStream in = new BufferedInputStream(new FileInputStream(file));
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(file));
```
2. **对象流:序列化和反序列化** - 如果你想持久化保存Java对象,可以使用ObjectInputStream/ObjectOutputStream。例如,将学生对象转换为字节数组并写入文件:
```java
try (ObjectOutputStream oos = new ObjectOutputStream(out)) {
Student student = ...; // 创建或获取学生对象
oos.writeObject(student);
}
```
3. **读取流**:对于读取文件内容,可以先创建ObjectInputStream来读取对象:
```java
try (ObjectInputStream ois = new ObjectInputStream(in)) {
Student student = ois.readObject();
System.out.println(student.getScore()); // 输出学生的分数
}
```
4. **关闭流**:记得在完成操作后关闭流,释放系统资源:
```java
in.close();
out.close();
```
阅读全文