package com.foreknow.io;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class ReadWrite {
//向文件中写数据
public void write(List<Student> list,String fileName) {
FileWriter fw = null;
BufferedWriter bw = null;
try {
fw = new FileWriter(fileName);
bw = new BufferedWriter(fw);
//1.遍历list集合,获取到对象Student
Iterator<Student> iterator = list.iterator();
while(iterator.hasNext()) {
Student stu = iterator.next();
//2.获取Student对象信息(sid+" "+name+" "+age+" "+phone)
String str = stu.getSid()+" "+stu.getName()+" "+stu.getAge()+" "+stu.getPhone();
//3.将字符串写到目标文件中
bw.write(str);
bw.newLine();
}
//4.关闭资源
bw.close();
fw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//读取文件中的数据
public List<Student> readFile(String fileName) {
FileReader fr = null;
BufferedReader br = null;
List<Student> list = new ArrayList<>();
try {
fr = new FileReader(fileName);
br = new BufferedReader(fr);
//读取文件
String temp;
while((temp = br.readLine())!=null) {//1000 tom 30 12121212122
//拆分字符串
String[] str = temp.split(" ");
//要将拆分出来的字符串放到Student对象中
Student s = new Student();
s.setSid(str[0]);
s.setName(str[1]);
s.setAge(Integer.parseInt(str[2]));
s.setPhone(str[3]);
//要将Student对象保存到集合list中
list.add(s);
}
//关闭资源
br.close();
fr.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
}
网友评论