2、产生15个20~9999之间的随机整数,然后利用BufferedWriter类将其写入文件file2.txt中;之后再读取该文件中的数据并将它们以升序排序。
时间: 2024-03-10 10:44:42 浏览: 37
好的,这是一个关于Java文件操作和排序算法的问题。对于这个问题,我可以给出以下代码实现:
```java
import java.io.*;
import java.util.*;
public class FileOperation {
public static void main(String[] args) {
String fileName = "file2.txt";
int count = 15;
int min = 20, max = 9999;
// 产生随机整数并写入文件
try {
FileWriter fw = new FileWriter(fileName);
BufferedWriter bw = new BufferedWriter(fw);
for (int i = 0; i < count; i++) {
int num = (int) (Math.random() * (max - min + 1) + min);
bw.write(String.valueOf(num));
bw.newLine();
}
bw.close();
fw.close();
System.out.println("随机数生成并写入文件成功!");
} catch (IOException e) {
e.printStackTrace();
}
// 读取文件并升序排序
try {
FileReader fr = new FileReader(fileName);
BufferedReader br = new BufferedReader(fr);
List<Integer> nums = new ArrayList<>();
String line;
while ((line = br.readLine()) != null) {
int num = Integer.parseInt(line);
nums.add(num);
}
Collections.sort(nums);
br.close();
fr.close();
// 将排序后的结果写入文件
FileWriter fw = new FileWriter(fileName);
BufferedWriter bw = new BufferedWriter(fw);
for (int num : nums) {
bw.write(String.valueOf(num));
bw.newLine();
}
bw.close();
fw.close();
System.out.println("读取文件并排序成功!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这段代码实现了产生随机整数、写入文件、读取文件和排序等操作。首先,我们使用`Math.random()`产生随机整数,并使用`BufferedWriter`类将其写入文件中。然后,我们使用`FileReader`和`BufferedReader`类读取文件中的数据,并将其以`List`的形式存储起来。接着,我们使用`Collections.sort()`方法对`List`中的数据进行升序排序。最后,我们再次使用`FileWriter`和`BufferedWriter`类将排序后的数据写入文件中。
需要注意的是,在读取文件时,我们需要将每一行的字符串转换为整数类型,可以使用`Integer.parseInt()`方法实现。此外,在写入文件时,我们需要使用`String.valueOf()`方法将整数转换为字符串类型。
相关推荐
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)