javase(Properties集合及学生对象信息录入文本中案例)
Posted 艺海浮台
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javase(Properties集合及学生对象信息录入文本中案例)相关的知识,希望对你有一定的参考价值。
1、Properties集合
Properties和IO流的结合使用
1 public void load(Reader reader) 2 public void store(Writer writer,String comments) 3 /* 4 * 这里的集合必须是Properties集合: 5 * public void load(Reader reader):把文件中的数据读取到集合中 6 * public void store(Writer writer,String comments):把集合中的数据存储到文件 7 * 8 */ 9 public class PropertiesDemo3 { 10 public static void main(String[] args) throws IOException { 11 // myLoad(); 12 13 myStore(); 14 } 15 16 private static void myStore() throws IOException { 17 // 创建集合对象 18 Properties prop = new Properties(); 19 20 prop.setProperty("林青霞", "27"); 21 prop.setProperty("张三", "30"); 22 prop.setProperty("李四", "18"); 23 24 //public void store(Writer writer,String comments):把集合中的数据存储到文件 25 Writer w = new FileWriter("name.txt"); 26 prop.store(w, "helloworld"); 27 w.close(); 28 } 29 30 private static void myLoad() throws IOException { 31 Properties prop = new Properties(); 32 33 // public void load(Reader reader):把文件中的数据读取到集合中 34 // 注意:这个文件的数据必须是键值对形式 35 Reader r = new FileReader("prop.txt"); 36 prop.load(r); 37 r.close(); 38 39 System.out.println("prop:" + prop); 40 } 41 }
2、键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低存入文本文件
package com.lianxi1; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.util.Comparator; import java.util.Scanner; import java.util.TreeMap; import java.util.TreeSet; public class StudnentDemo { public static void main(String[] args) { TreeSet<Student> treeSet = new TreeSet<>(new Comparator<Student>() { @Override public int compare(Student s1, Student s2) { int num1=s2.getSun()-s1.getSun(); int num2=num1==0?s2.getChinese()-s1.getChinese():num1; int num3=num2==0?s2.getMath()-s1.getMath():num2; int num4=num3==0?s2.getEnglish()-s1.getEnglish():num3; int num5=num4==0?s2.getName().compareTo(s1.getName()):num4; return num5; } }); Scanner s=new Scanner(System.in); for(int i=1;i<=5;i++){ System.out.println("请输入第"+i+"个学生的姓名:"); String name=s.nextLine(); System.out.println("请输入第"+i+"个学生的语文成绩:"); String chinese=s.nextLine(); System.out.println("请输入第"+i+"个学生的数学成绩:"); String math=s.nextLine(); System.out.println("请输入第"+i+"个学生的英语成绩"); String english=s.nextLine(); Student stu=new Student(name,Integer.parseInt(chinese),Integer.parseInt(math),Integer.parseInt(english)); treeSet.add(stu); } BufferedWriter bw=null; try { bw = new BufferedWriter(new FileWriter("stuInfo.txt")); bw.write("学生成绩如下:"); bw.newLine(); bw.write("姓名,语文,数学,英语 "); bw.newLine(); bw.flush(); for (Student stu : treeSet) { StringBuilder sb=new StringBuilder(); sb.append(stu.getName()).append(",").append(stu.getChinese()).append(",").append(stu.getMath()) .append(",").append(stu.getEnglish()); bw.write(sb.toString()); bw.newLine(); bw.flush(); } System.out.println("学生信息录入完毕"); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally{ if(bw!=null){ try { bw.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
以上是关于javase(Properties集合及学生对象信息录入文本中案例)的主要内容,如果未能解决你的问题,请参考以下文章
JavaSE-14.2.2案例-List集合存储学生对象并遍历