Java:(写/读数据)编写程序,如果名为 Exercise1215.txt的文件不存在,则创建该文件。使用文本 I / O 将随机产生的100个整数写入文件,文件中的整数由空格分开。从文件中读回数据并以升序显示数据。
时间: 2024-03-14 11:43:12 浏览: 52
java文件读写之产生随机数
好的,这里是Java的代码实现:
```java
import java.io.*;
import java.util.*;
public class Exercise1215 {
public static void main(String[] args) {
String filename = "Exercise1215.txt";
File file = new File(filename);
// 如果文件不存在,则创建该文件并写入随机整数
if (!file.exists()) {
try (PrintWriter writer = new PrintWriter(file)) {
Random random = new Random();
for (int i = 0; i < 100; i++) {
int num = random.nextInt(100) + 1;
writer.print(num + " ");
}
} catch (IOException e) {
System.out.println("Failed to create file");
e.printStackTrace();
}
}
// 从文件中读取数据并升序排序
try (Scanner scanner = new Scanner(file)) {
List<Integer> numbers = new ArrayList<>();
while (scanner.hasNextInt()) {
numbers.add(scanner.nextInt());
}
Collections.sort(numbers);
// 输出结果
System.out.println(numbers);
} catch (FileNotFoundException e) {
System.out.println("File not found");
e.printStackTrace();
}
}
}
```
首先创建一个`File`对象,检查文件是否存在。如果文件不存在,则使用`PrintWriter`写入随机整数。使用`Random`类生成100个随机整数,并将它们写入文件中,整数之间用空格分隔。
然后使用`Scanner`读取文件中的数据,并将其转换为整数列表。对整数列表进行排序,最后输出结果。在`Scanner`的构造函数中指定文件对象即可读取文件数据。在读取整数时需要使用`hasNextInt()`方法判断是否有下一个整数。
需要注意的是,在使用完`PrintWriter`和`Scanner`后,需要使用`try-with-resources`语句关闭文件流,以避免资源泄漏。
阅读全文