import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
public class arraylist{
public static void main(String[] args) throws Exception {
arraylist a = new arraylist();
a.adduser();
a.readuser();
}
user user = new user("wc11111111","123"); //new user类的实例对象
user user1 = new user("wc111","123");
user user2 = new user("wc222","123");
user user3 = new user("wc333","123");
user user4 = new user("wc3332","123");
void adduser() throws IOException, ClassNotFoundException{
List <user> list = new ArrayList<>(); //创建一个 ArrayList,将user对象们加进去
list.add(user);
list.add(user1);
list.add(user2);
list.add(user3);
list.add(user4);
File file = new File("D:\\123\\3.txt");
file.createNewFile();
FileOutputStream fout = new FileOutputStream("D:\\123\\3.txt");
ObjectOutputStream oout = new ObjectOutputStream(fout); //将对象写进文件
for(user x:list){
oout.writeObject(x); //通过增强for循环便利并写入文件
oout.flush();
}
}
void readuser() throws Exception{
File file = new File("D:\\123\\3.txt");
int len = (int) file.length();
FileInputStream fin = new FileInputStream("D:\\123\\3.txt");
ObjectInputStream oin = new ObjectInputStream(fin);
for(int i =0;i<len;i++){
user u=(user) oin.readObject(); //通过for循环读目标文件的内容,注意user里写toString方法
System.out.println(u);
}
}
}
*************************************************************************************************************************************
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
public class user implements Serializable{ //该类需要实现序列化
private String username ;
private String pwd;
public user(String username,String pwd) {
//设置username和pwd
super();
this.setUsername(username);
this.setPwd(pwd);
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
@Override
public String toString() {
//toString 方法,输出username和pwd
return "user [username=" + username + ", pwd=" + pwd + "]";
}
}