在一个文件中存了一些文字,文字与段为单位,每段开头为该段的序号,序号是乱的,现在需要将乱的序号排序号重新放到另外一个文件。
import java.io.*;
import java.util.HashMap;
/*
将一个文本中的语句进行排序
*/
public class Demo04Example {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new FileReader("abc.txt"));
BufferedWriter bw = new BufferedWriter(new FileWriter("abc2.txt"));
HashMap<String,String> hp = new HashMap<>();
//从文件中读取文件,然后进行切割
String line ;
while((line = br.readLine()) != null){//注意,读取后会自动去除行休止符
//利用方法split进行切割,分别放到数组0,1
String[] strings = line.split("\\.");
hp.put(strings[0],strings[1]);//key序号是有序的,会自动进行排序
}
System.out.println("1=========");
//将文件从hashmap重新取出,写入到新文件
for (String s : hp.keySet()) {
String value = hp.get(s);
bw.write(s + "." + value);
bw.newLine();
}
bw.close();
br.close();
}
}