利用字节输入输出流类,完成如下任务: (1)从键盘上获取数据(直到一行数据"end"为读取结束),将数据写出到文件d:\data.dat中。 (2)读出文件d:\data.dat里面的内容,将其显示在屏幕上。 可以使用不种的字节流读写数据。 说明:主类类名为Main。 提示:可用如下字节输入/输出流FileInputStream和FileOutputStream、BufferedInputStream和BufferedOutputStream、DataInputStream和DataOutputStream、RandomAccessFile。
时间: 2024-01-22 16:21:31 浏览: 77
以下是使用FileOutputStream和FileInputStream实现的代码示例:
```java
import java.io.*;
public class Main {
public static void main(String[] args) {
// 写入数据到文件
try (FileOutputStream fos = new FileOutputStream("d:\\data.dat")) {
byte[] buffer = new byte[1024];
int len;
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
while (true) {
String line = reader.readLine();
if ("end".equals(line)) {
break;
}
buffer = line.getBytes();
fos.write(buffer, 0, buffer.length);
}
} catch (IOException e) {
e.printStackTrace();
}
// 读取文件内容并显示在屏幕上
try (FileInputStream fis = new FileInputStream("d:\\data.dat")) {
byte[] buffer = new byte[1024];
int len;
while ((len = fis.read(buffer)) != -1) {
System.out.print(new String(buffer, 0, len));
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
上述代码中,我们先创建一个FileOutputStream对象,将从键盘输入的数据写入到文件中。在写入数据时,我们使用了BufferedReader读取键盘输入的字符串,并将其转换为字节数组写入到文件中。
接着,我们使用FileInputStream对象读取文件d:\data.dat中的内容,并将其显示在屏幕上。在读取数据时,我们同样使用了字节数组作为缓冲区,每次读取1024个字节,并将其转换为字符串打印到屏幕上。
阅读全文