需求:把文本文件中的数据读取到集合中(改进版),并遍历集合。要求:文件中每一行数据是一个学生对象的成员变量值 举例:s001,林xx,女,3栋209
//学生类
package package4;
public class Student {
private String id;
private String name;
private String sex;
private String address;
public Student() {
}
public Student(String id, String name, String sex, String address) {
this.id = id;
this.name = name;
this.sex = sex;
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 getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "Student{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
", sex='" + sex + '\'' +
", address='" + address + '\'' +
'}';
}
}
package package4;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
public class TxtToArrayListDemo {
public static void main(String[] args) throws IOException {
//创建字符输入流对象
BufferedReader br =new BufferedReader(new FileReader("day04\\src\\package4\\student.txt"));
//创建ArrayList集合对象
ArrayList<Student> list =new ArrayList<>();
//调用字符缓冲输入流对象方法读数据
String line;
while ((line=br.readLine())!=null){
//把读取到的字符串用split()进行分割,得到一个字符串数组
String[] split = line.split(",");
//创建学生对象
Student student =new Student();
//把字符串数组中的每一个元素取出来对应的赋值给学生对象的成员变量值
//如果有成员变量是Int类型,需要转换:Integer.parseInt(split[1]);
student.setId(split[0]);
student.setName(split[1]);
student.setSex(split[2]);
student.setAddress(split[3]);
//把学生对象添加到集合中
list.add(student);
}
//释放资源
br.close();
//遍历集合
for(Student s:list){
System.out.println(s);
}
}
}
运行结果
Student{id='s001', name='张三', sex='男', address='2栋213'}
Student{id='s002', name='王五', sex='男', address='3栋312'}
Student{id='s003', name='李四', sex='男', address='1栋111'}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!