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();
                }
            }
        }
    }
时间: 2024-10-11 12:31:54

javase(Properties集合及学生对象信息录入文本中案例)的相关文章

Java基础知识强化之集合框架笔记13:Collection集合存储学生对象并遍历

1. Collection集合存储学生对象并遍历: 需求:存储自定义对象并遍历Student(name,age) 分析: (1)创建学生类 (2)创建集合对象 (3)创建学生对象 (4)把学生对象添加到集合对象中 (5)遍历集合 2. 代码示例: Student.java,如下: 1 package cn.itcast_04; 2 3 public class Student { 4 private String name; 5 private int age; 6 7 public Stude

Jave中如何将输入的信息写入文本中

要把信息写入文本中进行固化存储是开发中经常用到的一种方法,下面是具体的操作流程,(文中只涉及核心代码,不是完整的项目). try{ File file = new File("mnt/sdcard/newfile.txt");   //先New出一个文件来 FileOutputStream fos = new FileOutputStream(file); //然后再New出一个文件输出流, String content = name+":"+pwd;       

把集合中的student对象信息储存在文本中

1.student类 1 // 姓名 2 private String name; 3 // 语文成绩 4 private int chinese; 5 // 数学成绩 6 private int math; 7 // 英语成绩 8 private int english; public int getSum() { return this.chinese + this.math + this.english; } 2.studentTest类 1 /** 2 * * 键盘录入5个学生信息(姓名

JAVA学习第五十三课 — IO流(七)File对象练习 &amp; Properties集合

一.练习 深度遍历文件夹 深度遍历很自然而然想到递归,而递归就很自然的想到其实现的底层算法是栈 对指定目录下列出所有内容(包含子目录的内容) PS:建议不要遍历C盘 import java.io.*; public class Main { public static void main(String[] args) throws IOException { File dir = new File("D:\\ACM集训"); ListAllDemo(dir,0); } public s

学生个人信息管理系统

需求:学生个人信息管理系统分析:学生管理:需要明确学生的所有信息. 学生的信息有哪些?姓名 年龄 性别 电话 住址 学号 各科成绩 需要一个类封装每个学生的这些信息 学生信息的管理: 针对每个学生需要可以对他/她的信息进行修改和查询,对每个学生对象可以增删操作. 需要提供 学生信息各种操作 选择 的提示信息,这里我们统一使用控制台. 首先学生类对象封装 package studentmanage; public class Student {// 学生的信息有哪些?姓名 年龄 性别 电话 住址

练习:往HashSet中存储学生对象(姓名,年龄) 同姓名,同年龄视为一个人,不存

具体源码实现 package com.runoob.test; import java.util.HashSet; import java.util.Iterator; import java.util.Set; public class HashSetTest { public static void main(String[] args) { // TODO Auto-generated method stub /* * 练习:往HashSet中存储学生对象(姓名,年龄) 同姓名,同年龄视为

IO流的练习4 —— 键盘录入学生成绩信息,进行排序后存入文本中

需求: 键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低存入文本文件 分析: A:创建学生类 B:创建集合对象 TreeSet<Student> C:键盘录入学生信息存储到集合 D:遍历集合,把数据写到文本文件 首先创建个学生类 1 package zl_Test; 2 /** 3 * 这是个记录学生成绩类 4 * @author LZL 5 * 6 */ 7 public class Student { 8 private String name; 9 priva

java学习--基础知识进阶第十天--标准输入流 &amp; 转换流 &amp; 打印流、对象操作流 、Properties集合

今日内容介绍 u  标准输入流 & 转换流 & 打印流 u  对象操作流 u  Properties集合 第1章 标准输入流 & 转换流 & 打印流 1.1 标准输入输出流 public static final InputStream in:标准输入流 public static final PrintStream out:标准输出流 package com.itheima_05; /* * 标准输入输出流: public static final InputStream

键盘录入5个学生的信息根据总分从高到低输出在控制台

第一部分: public class Student { private String name; private Integer chinese; private Integer math; private Integer english; public Student(){ super(); } public Student(String name,Integer chinese,Integer math,Integer english){ super(); this.name = name