发表于: 2018-03-19 17:30:36

1 551


学习到了基础部分的IO 报道下


package Demos;

import java.io.BufferedWriter;

import java.io.FileWriter;

import java.io.IOException;

import java.util.ArrayList;

import java.util.Scanner;

//2.1.训练描述:【综合:Scanner类、集合、自定义类、FileWriter】

//需求说明:从控制台接收3名学员的信息,每条进行存储到一个Student对象中,将多个Student对象存储到一个集合中。输入完毕后,将所有学员信息存储到文件Student.txt中。每名学员信息存储一行,多个属性值中间用逗号隔开。

//2.2.操作步骤描述

//1.创建Student类,有如下属性:

//学号、姓名、性别、年龄

//全部属性使用String类型。要求有无参,全参构造方法。所有属性私有,并提供公有get/set方法。

//2.创建MainApp类,包含main()方法

//3.在main()方法中:

//1)定义一个存储Student对象的集合;

//2)循环3次,从控制台接收3名学员信息,每条信息封装一个Student对象,将每个Student对象存储到集合中。

//3)遍历集合,获取每个Student对象,取出所有属性值,输出到文件Test2_2.txt中。每名学员信息占一行。


public class Demo2 {

    public static void main(String[] args) throws IOException 

    {

//创建Scanner对象

Scanner sc = new Scanner(System.in);

//创建student对象  没有需要创建类

      

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

for(int i=0;i<3;i++)

{

    System.out.println("请输入学号");

    String  num=sc.nextLine();

    

    System.out.println("请输入名字");

    String name=sc.nextLine();

    

    System.out.println("请输入性别");

    String gen=sc.nextLine();

    

    System.out.println("请输入年龄");

    String age=sc.nextLine();

    

    //载入构造函数  封装到st1里

    Student st1= new Student(num,name,age,gen);

    

    //村存储到 list 集合里

    list.add(st1);

}

//3提取st1里所有信息存储到文件 student.txt里

//遍历集合list  

@SuppressWarnings("resource")

//创建 流 和缓冲池   实现写硬盘

//firewhrite 用来执行和创建文件   bufferedwhriter 用来临时缓存数组等数据   标识的使用范围 out

BufferedWriter out = new BufferedWriter(new FileWriter("Student.txt"));  //new FileWriter时候""确定目标文件标的

for (int i = 0; i < list.size(); i++) 

{

    Student s=list.get(i);//获取集合的 对应 i的对象

    // 用line 拼接字符串  

            String line = s.getNum() +","+ s.getName() +","+ s.getGen() +","+ s.getAge();

out.write(line);  //

out.newLine();

out.flush();

}

       out.close();

       

    }

}



返回列表 返回列表
评论

    分享到