(一)集合到文件改进版demo
.把ArrayList集合中的学生数据写入到一个文本文件,
要求:
.每一个学生对象的数据作为文件中的一行数据
格式:
.学号,姓名,年龄,居住地,
举例:
.itheima001,林青霞,30,西安
思路:
1.定义学生类
2.创建ArrayList集合
3.创建学生对象
4.把学生对象添加到集合之中
5.创建字符缓冲输出对象
6.遍历集合,得到每一个学生的对象
7.把学生对象的数据拼接成指定格式的字符串
8.调用字符缓冲输出流对象的方法写数据
9.释放资源
以下有两个类
1.集合到文件改进版demo类
2.student类需求:
- package 集合到文件改进版;
-
- import java.io.BufferedWriter;
- import java.io.FileWriter;
- import java.io.IOException;
- import java.util.ArrayList;
-
- public class 集合到文件改进版demo {
- /*
- 需求:
- .把ArrayList集合中的学生数据写入到一个文本文件,
- 要求:
- .每一个学生对象的数据作为文件中的一行数据
- 格式:
- .学号,姓名,年龄,居住地,
- 举例:
- .itheima001,林青霞,30,西安
- 思路:
- 1.定义学生类
- 2.创建ArrayList集合
- 3.创建学生对象
- 4.把学生对象添加到集合之中
- 5.创建字符缓冲输出对象
- 6.遍历集合,得到每一个学生的对象
- 7.把学生对象的数据拼接成指定格式的字符串
- 8.调用字符缓冲输出流对象的方法写数据
- 9.释放资源
- *
- */
-
- public static void main(String[] args) throws IOException {
- // TODO Auto-generated method stub
-
- // 2.创建ArrayList集合
- ArrayList<student> array= new ArrayList<student>();
-
- student s1 = new student("110","林青霞",20,"香港");
- student s2 = new student("111","叶问",56,"佛山");
- student s3= new student("112","无春秋",23,"阿萨德");
- student s4 = new student("110","胡可",16,"澳门");
-
- // 4.把学生对象添加到集合之中
- array.add(s1);
- array.add(s2);
- array.add(s3);
- array.add(s4);
-
- // 5.创建字符缓冲输出流对象(输出文件对象)
- BufferedWriter bw = new BufferedWriter(new FileWriter("D:\\javaceshi\\student.txt"));
-
- // 6.遍历集合,得到每一个学生的对象
- for (student student : array) {
- // 7.把学生对象的数据拼接成指定格式的字符串
- StringBuilder sb = new StringBuilder();
- sb.append(student.getsid()).append(",").append(student.getName()).append((",")).append(student.getAge()).append((",")).append(student.getAddress());
- // 8.调用字符缓冲输出流对象的方法写数据
- bw.write(sb.toString());
- bw.newLine();
- bw.flush();
-
-
- }
- // 9.释放资源
- bw.close();
-
- }
-
- }
2.student类需求:
- package 集合到文件改进版;
- /*
- 格式:
- .学号,姓名,年龄,居住地,
- */
- public class student {
- private String sid;
- private String name;
- private int age;
- private String address;
-
- public student(String sid, String name, int age, String address) {
- super();
- this.sid = sid;
- this.name = name;
- this.age = age;
- this.address = address;
- }
- public student() {
- super();
- }
-
- public String getsid() {
- return sid;
- }
- public void setsid(String sid) {
- this.sid= sid;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public int getAge() {
- return age;
- }
- public void setAge(int age) {
- this.age = age;
- }
- public String getAddress() {
- return address;
- }
- public void setAddress(String address) {
- this.address = address;
- }
-
-
- }
(二)文件到集合改进版demo
需求:
.把我文本文件的数据读取到集合之中,并遍历集合,
要求:
.文件中的每一行数据是一个对象的成员变量值
格式:
.学号,姓名,年龄,居住地,
举例:
.itheima001,林青霞,30,西安
思路:
1.定义学生类
2.创建字符缓冲输出对象
3.创建ArrayList集合
4.调用字符缓冲输入流对象的方法读取数据
5.把读取的数据用spilt进行分割,得到一个字符串数组
6.创建学生对象
7.把字符串数组中的每一个元素取出来对应的赋值给学生对象的成员变量值
8.把学生对象添加到集合
9.释放资源
10.遍历集合
以下有两个类
1.集合到文件改进版demo类
2.student类需求:
1.集合到文件改进版demo类
- package 文件到集合改进版;
-
- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.FileReader;
- import java.io.FileWriter;
- import java.io.IOException;
- import java.util.ArrayList;
-
- import 集合到文件改进版.student;
- public class 文件到集合改进版 {
- /*
- 需求:
- .把我文本文件的数据读取到集合之中,并遍历集合,
- 要求:
- .文件中的每一行数据是一个对象的成员变量值
- 格式:
- .学号,姓名,年龄,居住地,
- 举例:
- .itheima001,林青霞,30,西安
- 思路:
- 1.定义学生类
- 2.创建字符缓冲输出对象
- 3.创建ArrayList集合
- 4.调用字符缓冲输入流对象的方法读取数据
- 5.把读取的数据用spilt进行分割,得到一个字符串数组
- 6.创建学生对象
- 7.把字符串数组中的每一个元素取出来对应的赋值给学生对象的成员变量值
- 8.把学生对象添加到集合
- 9.释放资源
- 10.遍历集合
- *
- */
- public static void main(String[] args)throws IOException {
- // TODO Auto-generated method stub
-
- // 2.创建字符缓冲输入流对象(输入文件对象)
- BufferedReader br = new BufferedReader(new FileReader("D:\\javaceshi\\student.txt"));
-
- // 3.创建ArrayList集合
- ArrayList<student> array= new ArrayList<student>();
-
- // 4.调用字符缓冲输入流对象的方法读取数据
- String line;
- while((line=br.readLine())!=null) { //读取一行数据
- String[] strarray = line.split(",");
-
- // 6.创建学生对象
- student s = new student();
-
- // 7.把字符串数组中的每一个元素取出来对应的赋值给学生对象的成员变量值
- s.setsid(strarray[0]);
- s.setName(strarray[1]);
- s.setAge(Integer.parseInt(strarray[2]));
- s.setAddress(strarray[3]);
-
- // 8.把学生对象添加到集合
- array.add(s);
- }
- // 9.释放资源
- br.close();
-
- // 10.遍历集合
-
- for (student s : array) {
-
- System.out.println(s.getsid()+","+s.getName()+","+s.getAge()+","+s.getAddress());
- }
- }
-
- }
2.student类需求:
- package 文件到集合改进版;
-
- public class student {
- /*
- 格式:
- .学号,姓名,年龄,居住地,
- */
-
- private String sid;
- private String name;
- private int age;
- private String address;
-
- public student(String sid, String name, int age, String address) {
- super();
- this.sid = sid;
- this.name = name;
- this.age = age;
- this.address = address;
- }
- public student() {
- super();
- }
-
- public String getsid() {
- return sid;
- }
- public void setsid(String sid) {
- this.sid= sid;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public int getAge() {
- return age;
- }
- public void setAge(int age) {
- this.age = age;
- }
- public String getAddress() {
- return address;
- }
- public void setAddress(String address) {
- this.address = address;
- }
-
- @Override
- public String toString() {
- return "student [sid=" + sid + ", name=" + name + ", age=" + age + ", address=" + address + "]";
- }
-
-
-
- }
-
-
-