发表于: 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();
}
}
评论