定义学生类:
package day05;
public class Student {
private String id;
private String name;
private String age;
private String home;
public Student() {
}
public Student(String id, String name, String age, String home) {
this.id = id;
this.name = name;
this.age = age;
this.home = home;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getHome() {
return home;
}
public void setHome(String home) {
this.home = home;
}
}
要求:键盘录入三个学生信息(学号,姓名,年龄,居住地)存储到集合,然后遍历每一个学生信息写入文本文件(每一个学生信息为一行数据,自定义分割标记
package day05;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;
/*
* 分析:
* a.定义学生类
* b.创建集合对象
* c.写方法实现键盘录入学生信息,并把学生对象作为元素添加到集合
* d.创建输出缓冲流对象
* e.遍历集合,得到每一个学生信息,并把学生信息按照格式写入文本文件
* f.释放资源
*/
public class ArrayListToFileTest {
public static void main(String[] args) throws IOException {
ArrayList<Student> array = new ArrayList<Student>();
addStudent(array);
addStudent(array);
addStudent(array);
BufferedWriter bw = new BufferedWriter(new FileWriter("g.txt"));
//遍历集合,得到每一个学生信息,并把学生信息按照格式写入文本文件
for(int x =0;x<array.size();x++){
Student s = array.get(x);
//创建SringBuilder对象,用于添加元素
StringBuilder sb = new StringBuilder();
sb.append(s.getId()).append(",").append(s.getName()).append(",").append(s.getAge()).append(s.getHome());
bw.write(sb.toString());
bw.newLine();//一定要记得写这个,系统决定换行
bw.flush();
}
bw.close();
}
//写方法实现录入信息,并添加到集合
public static void addStudent(ArrayList<Student> array){
Scanner sc = new Scanner(System.in);
String id;
while(true){
System.out.println("请输入学号");
id=sc.nextLine();
//定义标记
boolean flag=false;
//遍历集合看是否有学号被占用
for(int x=0;x<array.size();x++){
Student s = array.get(x);
if(s.getId().equals(id)){
flag=true;
break;
}
}
if(flag){
System.out.println("你输入的学号错误,请重新输入");
}else{
break;
}
}
System.out.println("请输入学生姓名:");
String name = sc.nextLine();
System.out.println("请输入学生年龄:");
String age = sc.nextLine();
System.out.println("请输入学生住址");
String home = sc.nextLine();
//创建学生对象,用于保存键盘录入的数据
Student s = new Student();
s.setId(id);
s.setName(name);
s.setAge(age);
s.setHome(home);
//将数据存入集合
array.add(s);
}
}
网友评论