import java.io.*;
import java.util.Map;
import java.util.TreeMap;
public class Test02 {
public static void main(String[] args) throws IOException {
// 使用 TreeMap 来存储数据,键是行号,值是原始行内容
// TreeMap 会自动根据键(行号)进行排序
Map<Integer, String> map = new TreeMap<>();
// 1. 读取文件并存入 TreeMap
// 使用 try-with-resources 确保 BufferedReader 自动关闭
try (BufferedReader br = new BufferedReader(new FileReader("myIO/csb.txt"))) {
String line;
while ((line = br.readLine()) != null) {
if (!line.isEmpty()) {
// 解析行号作为键
int key = Integer.parseInt(line.split("\\\\.")[0]);
// 将行号和原始行存入 map
map.put(key, line);
}
}
}
// TreeMap 已经自动排好序,直接打印它的值集合
System.out.println(map.values());
// 2. 将排序后的结果写入新文件
// 同样使用 try-with-resources 确保 BufferedWriter 自动关闭
try (BufferedWriter bw = new BufferedWriter(new FileWriter("myIO/result.txt"))) {
// 遍历 TreeMap 的值集合(已经按键排序)
for (String str : map.values()) {
bw.write(str);
bw.newLine();
}
}
}
}