- 案例题目描述:
IO流+集合完成功能
- 案例完成思路要求:
1、通过输入流读取文件test.txt(20分)
文件内容:
张三,20,男
李四,21,女
王五,22,男
2、自定义类Employee(15分)
3、拆分字符串,封装Employee对象(15分)
4、创建ArrayList集合,把对象加入集合,遍历集合打印Employee对象。 (20分)
5、把集合中的内容保存到d:\\temp.txt文件。(20分)
- 其他
6、要求代码每个方法都有注释。(10分)
package practice;
public class Employee {
private String name;
private int age;
private String sex;
//get set
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 getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
//有参构造
public Employee(String name, int age, String sex) {
super();
this.name = name;
this.age = age;
this.sex = sex;
}
//无参构造
public Employee() {
}
@Override
public String toString() {
return "Employee [name=" + name + ", age=" + age + ", sex=" + sex + "]";
}
}
package practice;
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 java.util.List;
public class Test {
public static void main(String[] args) throws IOException {
List<Employee> em = new ArrayList<Employee>();
FileReader fr = new FileReader("C:\\Users\\CX\\Documents\\IO\\test.txt");
BufferedReader br = new BufferedReader(fr, 1024);
String msg = "";
while((msg = br.readLine()) != null) {
// System.out.println(msg);
String[] arr = msg.split(",");
Employee e = new Employee(arr[0], Integer.parseInt(arr[1]), arr[2]);
em.add(e);
}
FileWriter fw = new FileWriter("C:\\Users\\CX\\Documents\\IO\\temp.txt");
BufferedWriter bw = new BufferedWriter(fw, 1024);
for(Employee ems : em) {
// System.out.println(ems);
bw.write(ems.toString());
bw.newLine();
}
//关流
bw.close();
fw.close();
br.close();
fr.close();
}
}