在JAVA中,编写程序,如果名为Exercise12_15.txt的文件不存在,则创建该文件。使用文本I/O将随机产生的100个整数写入文件,文件中的整数由空格分开。从文件中读回数据并以升序显示数据。给出完整代码。
时间: 2024-12-15 12:17:51 浏览: 3
javafx.rar_java_java exercise15_01_javaFx_javafx练习题_sometimex1l
在Java中,你可以使用`java.io`包中的`File`, `Random`, `PrintWriter`, 和 `BufferedReader` 类来实现这个需求。这里是一个完整的示例代码:
```java
import java.io.*;
import java.util.Random;
public class Main {
public static void main(String[] args) {
String fileName = "Exercise12_15.txt";
try {
// 检查文件是否存在,如果不存在则创建
File file = new File(fileName);
if (!file.exists()) {
createAndWriteToFile(file);
} else {
// 如果文件已存在,直接读取并排序
readFromFileAndDisplay(file);
}
} catch (IOException e) {
e.printStackTrace();
}
}
private static void createAndWriteToFile(File file) throws IOException {
Random random = new Random();
PrintWriter writer = new PrintWriter(new FileWriter(file));
for (int i = 0; i < 100; i++) {
int num = random.nextInt(1000); // 生成0到999之间的随机数
writer.print(num + " "); // 写入文件,用空格分隔
}
writer.close(); // 关闭文件
}
private static void readFromFileAndDisplay(File file) throws IOException {
BufferedReader reader = new BufferedReader(new FileReader(file));
StringBuilder data = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
data.append(line.trim()).append(" "); // 删除行尾的换行符,并添加空格分隔
}
reader.close();
// 将字符串分割为整数数组,然后排序并打印
int[] numbers = data.toString().split("\\s+").stream()
.mapToInt(Integer::parseInt)
.toArray();
Arrays.sort(numbers);
System.out.println("Sorted numbers from the file:");
for (int number : numbers) {
System.out.println(number);
}
}
}
```
这个程序首先检查指定的文件是否已经存在,如果不存在,它会创建一个新的文件并写入100个随机整数。如果文件已存在,它会读取文件内容,删除多余的空白,然后按顺序显示内容。
阅读全文