现有一个文件 s1.txt,内如如下,请将该文件内容按照1 2 3 4 次序输出
5.渚清沙白鸟飞回
3.诗圣 杜甫
1.唐诗300首
10.艰难苦恨繁霜鬓
6.无边落木萧萧下
7.不尽长江滚滚来
2.登高
9.百年多病独登台
4.风急天高猿啸哀
11.潦倒新停浊酒杯
8.万里悲秋常作客
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.TreeMap;
public class Test_登高1 {
public static void main(String[] args) throws Exception {
//创建输入流对象
String s = "F:\\JD2203资料\\JD2203作业\\Corejava\\day23作业\\s1.txt";
BufferedReader br = new BufferedReader(new FileReader(s));
//创建map集合存放数据
TreeMap<Integer, String> map = new TreeMap<Integer, String>();
//读数据到map中
String a = null;
while ((a = br.readLine()) != null) {
String[] arr = a.split("[.]");
int x = Integer.parseInt(arr[0]);
map.put(x, arr[1]);
}
//遍历按1234顺序输出,输出map
for (int i = 1; i <= map.size(); i++) {
System.out.println(i + "." + map.get(i));
}
//关闭资源
br.close();
}
}
请在上面基础上,将有序内容(去除行号标志) 输出到文件 s2.txt中
s2.txt效果如下:
唐诗300首
登高
诗圣 杜甫
...
艰难苦恨繁霜鬓
潦倒新停浊酒杯
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.TreeMap;
public class Test_登高2 {
public static void main(String[] args) throws Exception {
//创建流对象
String s = "F:\\JD2203资料\\JD2203作业\\Corejava\\day23作业\\s1.txt";
BufferedReader br = new BufferedReader(new FileReader(s));
String k = "F:\\JD2203资料\\JD2203作业\\Corejava\\day23作业\\s2.txt";
BufferedWriter bw = new BufferedWriter(new FileWriter(k));
//建立map存放数据
TreeMap<Integer, String> map = new TreeMap<Integer, String>();
//读入map中
String a = null;
while ((a = br.readLine()) != null) {
//第一行的分割
String[] arr = a.split("[.]");
int x = Integer.parseInt(arr[0]);
//添加到map中
map.put(x, arr[1]);
}
//写入
for (int i = 1; i <= map.size(); i++) {
bw.write(map.get(i));//按前面序号依次写(强制),通过key得到value
if (i != 11) { //不是最后一行,就换行
bw.newLine();
System.out.println(map.get(i)); //控制台输出查看
}
}
//关闭资源
bw.close();
br.close();
}
}