A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© guyouzhong 中级黑马   /  2017-1-25 09:54  /  1073 人查看  /  6 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

  *保存输入记录的小程序,要求如下:
  *  项目根目录下创建文件data.txt,文件用来存放键盘录入的数据
  *  文件存放数据的格式要求:
  *1. 键盘每录入一次数据就将录入的数据在文件中存放成一行
  *2. 文件中最多存放5行
  *3. 根据数据存放的时间上下排序,最早录入的在最后一行,最后录入的数据在文件的第一行

6 个回复

倒序浏览
[Java] 纯文本查看 复制代码
public class Test2 {
	public static void main(String[] args) throws Exception {
		//1.定义一个集合用于存储5条数据;
		LinkedList<String> dataList = new LinkedList<>();
		//2.用于从文件中取数据.将数据按顺序放入集合中.
		BufferedReader br = new BufferedReader(new FileReader("data.txt"));
		String line;
		while((line = br.readLine()) != null){
			dataList.add(line);
		}
		System.out.println(dataList+"="+dataList.size());
		br.close();
		if(dataList.size()<5){
			//4.获取需要存储的
			String words = getWords();
			dataList.addFirst(words);
			//5.用于将数据按时间顺序依次存储到文件中
			BufferedWriter bw = new BufferedWriter(new FileWriter("data.txt"));
			//6.将集合中排好序的5条数据依次写入文件中.
			for(int i = 0;i < dataList.size(); i++){
				bw.write(dataList.get(i));
				if(i != 4) bw.newLine();	//如果不是第五条数据那么就换行.
			}
			bw.close();
		}else {
			System.out.println("已达到文件最大存储长度.");
		}
	}
	/**获取输入的字符串*/
	private static String getWords() {
		Scanner scanner = new Scanner(System.in); // 1.要求用户输入一句话
		System.out.println("请输入字符串: ");
		while (true) {
			String words = scanner.nextLine();
			if ("".equals(words)) {
				System.out.println("输入字符串为空,请重新输入: ");
				continue;
			}
			return words;
		}
	}
}{:7_413:}
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
来学习下。。
回复 使用道具 举报
好!!!!!!!!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马