编写Java程序,如果文件Exercise17_02.dat不存在,则创建该文件。如果已经存在,则向文件追加数据。使用二进制I/O将100个随机数字生成的整数写入这个文件中
时间: 2024-02-25 08:59:16 浏览: 63
好的,以下是实现这个功能的Java代码:
```java
import java.io.*;
import java.util.Random;
public class Exercise17_02 {
public static void main(String[] args) {
final String FILE_NAME = "Exercise17_02.dat";
final int NUM_OF_INTS = 100;
// 生成随机数
Random rand = new Random();
int[] nums = new int[NUM_OF_INTS];
for (int i = 0; i < nums.length; i++) {
nums[i] = rand.nextInt();
}
try (DataOutputStream output = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(FILE_NAME, true)))) {
// 写入数据
for (int i = 0; i < nums.length; i++) {
output.writeInt(nums[i]);
}
System.out.println("成功写入" + NUM_OF_INTS + "个整数到文件" + FILE_NAME + "中!");
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
```
这个程序首先定义了一个常量`FILE_NAME`表示要写入的文件名,以及一个常量`NUM_OF_INTS`表示要写入的随机整数个数。
程序随后使用`Random`类生成了`NUM_OF_INTS`个随机整数,并将它们存储在一个数组中。
接下来,程序使用`DataOutputStream`类将这些整数写入文件中。这里需要注意的是,我们要使用`BufferedOutputStream`类对`FileOutputStream`进行包装,以提高写入文件的效率。
此外,我们在`FileOutputStream`的构造函数中传入了一个`true`参数,表示以追加模式打开文件。这样,如果文件已经存在,我们就可以向文件中追加数据。
最后,程序输出一条消息,告诉我们写入了多少个整数到文件中。
运行这个程序后,如果文件`Exercise17_02.dat`不存在,程序会自动创建它,并向其中写入100个随机整数。如果文件已经存在,程序会向其中追加数据。
阅读全文