String类、Date类与Io流的综合案例

1、先创建文件夹输入学生基本信息

张三-男-2000/08/15-河南南阳
小兰-女-2001/11/23-河南洛阳
小美-女-2002/07/18-河南郑州
lucy-女-2000/09/21-美国加州
jack-男-2001/10/24-英国伦敦

 创建Student私有类

   private   String name;
    private   String sex;
    private Date ber;
    private  String arred;

    public String getName() {
        return name;
    }

    public String getSex() {
        return sex;
    }

    public Date getBer() {
        return ber;
    }

    public String getArred() {
        return arred;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public void setBer(Date ber) {
        this.ber = ber;
    }

    public void setArred(String arred) {
        this.arred = arred;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", sex='" + sex + '\'' +
                ", ber=" + ber +
                ", arred='" + arred + '\'' +
                '}';
    }

 2、创建File对象

File  f1=new File ("录入学生信息文件夹所在地")

 3、定义缓冲字符流

FileReader read=new FileReader(f1);

BufferedReader br=new BufferedReader(read);

4、对文档读取,获取每行数组

ArrayList<Student> list=new ArrayList<>();

 因为我们定义的是Date类,所以需要进行转换,方便后期操作

SimpleDateFormat sd=new SimpleDateFormat("yyyy/mm");

 5、读取文件内容,进行判断是否读取完,并将元素进行拆分

splite("按照什么符号进行截取"):截取出来的内容是string数组

String temp;
while ((temp=br.readLine())!=null){
    String[] sp=temp.split("-");
    Student student=new Student();
    student.setName(sp[0]);
    student.setSex(sp[1]);
    student.setBer(sd.parse(sp[2]));
    student.setArred(sp[3]);

    list.add(student);
}

6、最后进行输出


 

 public static  void  main(String[] args) throws IOException, ParseException {
        //1、定义File对象
        File f1=new File("D:/zuomian/a1.txt");
        //2、定义缓冲字符流
        FileReader read=new FileReader(f1);
        BufferedReader br=new BufferedReader(read);
        //3、对文档进行读取,获取每行数组
        ArrayList<Student> list=new ArrayList<>();
        //转换时间格式
        SimpleDateFormat sd=new SimpleDateFormat("yyyy/mm");
        String temp;
        while ((temp=br.readLine())!=null){
            String[] sp=temp.split("-");//把字符串按照"-",解析出4个数据,存入数组中
            //把每一行对应的数组元素取出封装到Student对象中
            Student student=new Student();
            student.setName(sp[0]);
            student.setSex(sp[1]);
            student.setBer(sd.parse(sp[2]));
            student.setArred(sp[3]);

            list.add(student);
        }
        System.out.println(list);
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值