登高,,,

现有一个文件 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();
	}
	
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值