版权声明:所有博客本人原创,转载注明出处即可 https://blog.csdn.net/qq_42813491/article/details/88372238
练习一
A:键盘录入3个学生信息(学号,姓名,居住地)存入集合
B:遍历集合把每一个学生信息存入文本文件
C:每一个学生信息为一行数据,每行学生的学号,姓名和居住地在文件中均以逗号分隔
目录结构
学生实体
package task;
public class Student {
private String id;
private String name;
private String address;
public Student() {
super();
}
public Student(String id, String name, String address) {
super();
this.id = id;
this.name = name;
this.address = address;
}
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 getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
逻辑和测试
package task;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Test {
public static void main(String[] args) throws Exception {
/*
* A:键盘录入3个学生信息(学号,姓名,居住地)存入集合
* B:遍历集合把每一个学生信息存入文本文件
* C:每一个学生信息为一行数据,每行学生的学号,姓名和居住地在文件中均以逗号分隔
*/
List<Student> list = new ArrayList();// 存放学生信息的集合
// 循环录入学生信息
for (int i = 0; i < 3; i++) {
System.out.println("请输入学生id");
String id = new Scanner(System.in).nextLine();
System.out.println("请输入学生name");
String name = new Scanner(System.in).nextLine();
System.out.println("请输入学生address");
String address = new Scanner(System.in).nextLine();
Student student = new Student(id, name, address);// 填充学生对象
list.add(student);// 将学生对象添加到集合
System.out.println("录入成功" + (i + 1));// 提示录入次数
}
FileWriter fw = new FileWriter("stu.txt");// 等会要写入的文件
for (Student student : list) {
fw.write(student.getId() + "," + student.getName() + "," + student.getAddress());// 分隔符
fw.write("\r\n");// 换行
}
System.out.println("写入完毕");// 提示
fw.close();// 关闭流
}
}
效果图
练习二
把上一案例的stu.txt文本文件中的学生信息读取出来存储到集合中,然后遍历集合,在控制台输出
学生实体类
- 加一个toString,其他的和上边一样
@Override
public String toString() {
return "Student [id=" + id + ", name=" + name + ", address=" + address + "]";
}
逻辑和测试
package task;
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) throws Exception {
// 创建输入缓冲流对象,用来读取学生信息
BufferedReader br = new BufferedReader(new FileReader("stu.txt"));
String str = "";// 用来保存读取的数据
List<Student> list = new ArrayList();// 用来存放读取的学生信息
while ((str = br.readLine()) != null) {
String[] student = str.split(",");// 分割学生数组,每一个索引就是一个学生的个人信息
Student s = new Student();// 创建学生实例,填充对象
s.setId(student[0]);
s.setName(student[1]);
s.setAddress(student[2]);
list.add(s);// 将学生数据添加到集合中
}
//遍历集合,打印到控制台,学生实体重写toString()
for (Student student : list) {
System.out.println(student);
}
br.close();// 关闭流
}
}