Java实验第四次
(1) 用FileInputStream、FileOutputStream和FileReader、FileWriter分别拷贝;
(2) 使用字节流时,定义一个1024长度的字节数组,使用字符流时,使用BufferedReader和BufferedWriter。
public class Text01 {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
FileOutputStream fos = new FileOutputStream("D:/321.txt");
FileInputStream fis = new FileInputStream("E:/123.txt");
byte b[]=new byte[2014];
fis.read(b);
fos.write(b);
fos.close();
}
}
public class Text01_1 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new FileReader("D:/wangdefa.txt"));
BufferedWriter bw = new BufferedWriter(new FileWriter("E:/houlixie.txt"));
String str = br.readLine();
bw.write(str);
bw.newLine();
br.close();
bw.close();
}
}
public class text02 {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
int count = 0;
BufferedReader br = new BufferedReader(new FileReader("D:/22222.txt"));
BufferedWriter bw = new BufferedWriter(new FileWriter("E:/222222222.txt"));
String str ;
while((str = br.readLine()) != null){
bw.write(count+" ");
bw.write(str);
System.out.println(str);
bw.newLine();
count++;
}
System.out.println("获取了"+count+"行");
bw.flush();
br.close();
bw.close();
}
}
(1) 把表1中的学生信息写入到文件中,要求每个学生信息的学号、姓名、出生日期之间用逗号隔开,其对应的文本文件中的信息格式如图4-1所示
表4-1 学生信息
学号 姓名 出生日期
201644001 张三 1997年2月3日
201644002 李四 1998年11月11日
201644003 王五 1996年3月2日
201644004 赵六 1996年12月12日
201644005 周正 1997年10月10日
(2) 请读出题(1)的文件内容,并把读到的学生信息保存到List集合(ArrayList或者LinkedList)中,并使用遍历方式输出List集合的内容。
public class User {
private String id;
private String name;
private String birthday;
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 getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
public User() {
}
public User(String id, String name, String birthday) {
this.id = id;
this.name = name;
this.birthday = birthday;
}
}
public class Text3 {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
int count = 0;
BufferedReader br = new BufferedReader(new FileReader("D:/22222.txt"));
BufferedWriter bw = new BufferedWriter(new FileWriter("E:/222222222.txt"));
User us1 = new User("201644001", "张三", "1997年2月3日");
bw.write(us1.getId() + "," + us1.getName() + "," + us1.getBirthday());
bw.newLine();
User us2 = new User("201644002", "李四", "1998年11月11日");
bw.write(us2.getId() + "," + us2.getName() + "," + us2.getBirthday());
bw.newLine();
User us3 = new User("201644003", "王五", "1996年3月2日");
bw.write(us3.getId() + "," + us3.getName() + "," + us3.getBirthday());
bw.newLine();
User us4 = new User("201644004", "赵六", "1996年12月12日");
bw.write(us4.getId() + "," + us4.getName() + "," + us4.getBirthday());
bw.newLine();
User us5 = new User("201644005", "周正", "1997年10月10日");
bw.write(us5.getId() + "," + us5.getName() + "," + us5.getBirthday());
bw.newLine();
br.close();
bw.close();
/**
* 2问
*/
FileReader fi=new FileReader("E:/222222222.txt");
BufferedReader di=new BufferedReader(fi);
List list = new ArrayList();
//List list = new ArrayList();
String str;
while ((str = di.readLine()) != null) {
String id = str.substring(0, 9);
String name = str.substring(9, 12);
String birth = str.substring(12, str.length());
//list.add(new User(id, name, birth));
list.add(id+name+birth);
}
Iterator iter = list.iterator();
while (iter.hasNext()) {
// System.out.print(iter.next().getId());
// System.out.println(iter.next().getName());
System.out.println(iter.next());
}
di.close();
fi.close();
}
}