最后读取文本文件中的对象,而后将对象的属性打印到控制台上;java
import java.io.BufferedReader; import java.io.EOFException; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.OutputStream; import java.io.Serializable; import java.nio.channels.ScatteringByteChannel; import java.util.ArrayList; import org.omg.PortableInterceptor.INACTIVE; public class Work02 { @SuppressWarnings("resource") public static void main(String[] args) throws Exception { // 2.定义员工类employee ,员工有姓名,年龄,工号属性, 员工有工做的方法, // 键盘录入三组数据, 数据格式(姓名,年龄,工号) 例如:张三,23,9527; // 经过数据,建立员工对象, 而后经过对象流将三个对象储存到文本文件中; // 最后读取文本文件中的对象,而后将对象的属性打印到控制台上; //writerDemo();//调用写入对象方法 rederDemo();//调用读取对象方法 } //读取对象类 private static void rederDemo() throws IOException, FileNotFoundException, ClassNotFoundException { // 建立集合流输入流 ObjectInputStream obr = new ObjectInputStream(new FileInputStream("2.txt")); //读取流 Object ob = obr.readObject(); //强转成集合类型的 ArrayList<employee> arr=(ArrayList<employee>) ob; //用for加强来遍历集合 for (employee em : arr) { // 输入对象 System.out.println(em); } obr.close(); } //写入对象类 private static void writerDemo() throws IOException, FileNotFoundException { // 建立字节标准输入流对象 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); //建立字节输出流对象 ObjectOutputStream obw = new ObjectOutputStream(new FileOutputStream("2.txt")); // 建立employee类的集合 ArrayList<employee> arr = new ArrayList<employee>(); // 定义计数器 int a=1; // while(a<=3){ System.out.println("请输入第"+a+"个学生的信息(数据格式(姓名,年龄,工号) 例如:张三,23,9527):"); // 读取一行 String re = br.readLine(); // 吧他们从逗号分隔成Sting数组 String[] sp = re.split(","); // 集合用add方法添加匿名对象 arr.add(new employee(sp[0], sp[1], sp[2])); // 计数器累加 a++; } // 对象流添加集合 obw.writeObject(arr); // 关闭流 br.close(); obw.close(); } } //定义一个 employee类,实现Serializable class employee implements Serializable{ /** * */ private static final long serialVersionUID = 2220530702725160473L; private String name; private String age; private String id; public void work(){ System.out.println("好好工做"); } @Override public String toString() { return "employee [name=" + name + ", age=" + age + ", id=" + id + "]"; } public employee(String name, String age, String id) { super(); this.name = name; this.age = age; this.id = id; } }