/**
*
* @author 大家都说名字长不会被发现
* 1.复制上例中的Student类到本项目中;
2.在项目目录下创建文件name.txt,并写入以下内容:
it001,武松,男,22
it002,林冲,男,20
it003,卢俊义,男,18
it004,石宝,男,23
3.创建MainApp类,包含main()方法
4.在main()方法中:
1.定义一个存储Student对象的集合;
2.循环从文件中读取数据,每次读取一行,并解析每个属性值,封装到一个Student对象中,并将这个对象封装到集合中。
3.遍历集合,找到要修改的“卢俊义”,并将姓名修改为:“史文恭”。
同时将数据再次写回到文件中。
程序结束后,验证文件中的数据是否修改成功
*/
public class HomeTest03 {
public static void main(String[] args) throws IOException{
//定义集合来存储对象
ArrayList<Student> lists = new ArrayList<Student>();
//定义字符读取流
BufferedReader br = new BufferedReader(new FileReader("name.txt"));
String len;
while((len = br.readLine()) != null) {
//创建Student对象
Student stu = new Student();
String[] stuMessageArray = len.split(",");
//将数组中的数据取出,然后设置到Student对象中
stu.setId(stuMessageArray[0]);
stu.setName(stuMessageArray[1]);
stu.setGender(stuMessageArray[2]);
stu.setAge(stuMessageArray[3]);
//添加对象到集合
lists.add(stu);
}
//关流
br.close();
//打印修改后的数据
System.out.println("学号\t姓名\t性别\t年龄");
//定义字符写入流
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter("name.txt"));
//循环集合判断元素,修改元素,并将数据重新写入
for(int i = 0; i < lists.size();i++) {
//定义字符串拼接对象
StringBuilder stringBuilder = new StringBuilder();
//获取对象
Student stu = lists.get(i);
//判断元素
if(stu.getName().equals("卢俊义")) {
stu.setName("史文恭");
}
System.out.println(stu.getId()+"\t"+stu.getName()+"\t"+stu.getGender()+"\t"+stu.getAge());
//拼接数据
stringBuilder.append(stu.getId()).append(",")
.append(stu.getName()).append(",").append(stu.getGender()).append(",").append(stu.getAge());
//写入数据
bufferedWriter.write(stringBuilder.toString());
bufferedWriter.newLine();
}
//关流
bufferedWriter.close();
}
}
*
* @author 大家都说名字长不会被发现
* 1.复制上例中的Student类到本项目中;
2.在项目目录下创建文件name.txt,并写入以下内容:
it001,武松,男,22
it002,林冲,男,20
it003,卢俊义,男,18
it004,石宝,男,23
3.创建MainApp类,包含main()方法
4.在main()方法中:
1.定义一个存储Student对象的集合;
2.循环从文件中读取数据,每次读取一行,并解析每个属性值,封装到一个Student对象中,并将这个对象封装到集合中。
3.遍历集合,找到要修改的“卢俊义”,并将姓名修改为:“史文恭”。
同时将数据再次写回到文件中。
程序结束后,验证文件中的数据是否修改成功
*/
public class HomeTest03 {
public static void main(String[] args) throws IOException{
//定义集合来存储对象
ArrayList<Student> lists = new ArrayList<Student>();
//定义字符读取流
BufferedReader br = new BufferedReader(new FileReader("name.txt"));
String len;
while((len = br.readLine()) != null) {
//创建Student对象
Student stu = new Student();
String[] stuMessageArray = len.split(",");
//将数组中的数据取出,然后设置到Student对象中
stu.setId(stuMessageArray[0]);
stu.setName(stuMessageArray[1]);
stu.setGender(stuMessageArray[2]);
stu.setAge(stuMessageArray[3]);
//添加对象到集合
lists.add(stu);
}
//关流
br.close();
//打印修改后的数据
System.out.println("学号\t姓名\t性别\t年龄");
//定义字符写入流
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter("name.txt"));
//循环集合判断元素,修改元素,并将数据重新写入
for(int i = 0; i < lists.size();i++) {
//定义字符串拼接对象
StringBuilder stringBuilder = new StringBuilder();
//获取对象
Student stu = lists.get(i);
//判断元素
if(stu.getName().equals("卢俊义")) {
stu.setName("史文恭");
}
System.out.println(stu.getId()+"\t"+stu.getName()+"\t"+stu.getGender()+"\t"+stu.getAge());
//拼接数据
stringBuilder.append(stu.getId()).append(",")
.append(stu.getName()).append(",").append(stu.getGender()).append(",").append(stu.getAge());
//写入数据
bufferedWriter.write(stringBuilder.toString());
bufferedWriter.newLine();
}
//关流
bufferedWriter.close();
}
}