逐句解析代码 package com.io.mytest; import java.io.*; import java.util.*; public class test4 { /* 出师表排序 */ public static void main(String[] args) throws IOException { //1.读取数据 BufferedReader br = new BufferedReader(new FileReader("C:\\Users\\linliyou\\Downloads\\csb.txt")); String line; TreeMap<Integer,String> tm = new TreeMap<>(); while ((line = br.readLine()) != null){ String[] arr = line.split("\\."); tm.put(Integer.parseInt(arr[0]),line); } br.close(); //2.写出数据 BufferedWriter bw = new BufferedWriter(new FileWriter("C:\\idea codes\\basic-codes\\result.txt")); Set<Map.Entry<Integer,String>> entries = tm.entrySet(); for (Map.Entry<Integer, String> entry : entries) { String value = entry.getValue(); bw.write(value); bw.newLine(); } bw.close(); } }
时间: 2024-04-17 15:29:05 浏览: 136
这段代码是一个简单的Java程序,主要实现了读取一个文件中的数据并按照一定规则进行排序后写入另一个文件。
代码首先导入了需要的类,包括java.io和java.util。然后定义了一个名为test4的类。
在main方法中,首先创建了一个BufferedReader对象br,用于读取文件。通过new FileReader("C:\\Users\\linliyou\\Downloads\\csb.txt")指定要读取的文件路径,并将其传递给BufferedReader的构造函数。接下来创建了一个TreeMap对象tm,用于存储排序后的数据。
代码通过while循环读取文件中的每一行数据,将每一行根据"."进行切割,得到序号和内容两部分。使用Integer.parseInt方法将序号转换为整数,并将序号和整行内容存入TreeMap中。最后通过br.close()关闭文件读取流。
接下来创建了一个BufferedWriter对象bw,用于写入文件。通过new FileWriter("C:\\idea codes\\basic-codes\\result.txt")指定要写入的文件路径,并将其传递给BufferedWriter的构造函数。
通过Set<Map.Entry<Integer,String>> entries = tm.entrySet()获取TreeMap中的键值对集合。然后使用增强型for循环遍历集合中的每一个键值对,获取值并使用bw.write(value)写入文件。最后通过bw.close()关闭文件写入流。
这段代码的功能是读取csb.txt文件中的数据,并按照序号进行排序后写入result.txt文件。
阅读全文