1 package Aug14.IO; 2 3 4 5 import java.io.*; 6 import java.util.*; 7 import java.util.Map.Entry; 8 9 class Student<T> implements Serializable{ 10 private T rollNo; 11 12 Student(T rollNo){ 13 this.rollNo=rollNo; 14 } 15 16 private String Name;int age; 17 18 public void setRollNo(T roll){ 19 rollNo=roll; 20 } 21 22 public T getRollNo(){ 23 return rollNo; 24 } 25 26 public void setName(String roll){ 27 Name=roll; 28 } 29 30 public String getName(){ 31 return Name; 32 } 33 34 public void setAge(int roll){ 35 age=roll; 36 } 37 38 public int getAge(){ 39 return age; 40 } 41 42 public String toString(){ 43 return "Name:- "+getName()+" Age:- "+getAge(); 44 } 45 } 46 47 48 public class StudDataFile { 49 50 private void objectWriter(Map<String, Student<Integer>> m) { 51 try{ 52 File f=new File("D:\\Students.txt"); 53 ObjectOutputStream oos=new ObjectOutputStream( 54 new FileOutputStream(f,true)); 55 oos.writeObject(m); 56 oos.flush(); 57 oos.close(); 58 System.out.println("File Writing Success"); 59 }catch(Exception e){ 60 e.printStackTrace(); 61 } 62 } 63 64 private void objectReader(){ 65 try{ 66 File f=new File("D:\\Students.txt"); 67 ObjectInputStream ois=new ObjectInputStream(new FileInputStream(f)); 68 69 Map<String, Student<Integer>> m=(Map<String, Student<Integer>>)ois.readObject(); 70 71 Set view=m.entrySet(); 72 Iterator it=view.iterator(); 73 while(it.hasNext()) 74 { 75 Map.Entry<String, Student<Integer>> stud = (Entry<String, Student<Integer>>) it.next(); 76 System.out.println("Key:- "+stud.getKey()+"\tValues:- "+stud.getValue()); 77 } 78 ois.close(); 79 }catch(Exception e){ 80 e.printStackTrace(); 81 } 82 System.out.println("File Reading Success"); 83 } 84 85 public static void main(String[] args) { 86 Map<String, Student<Integer>> stuData=new HashMap<String, Student<Integer>>(); 87 88 Student<Integer> s; 89 for(int i=0; i<5; i++){ 90 s=new Student<Integer>(i+1); 91 s.setName("Student: "+(i+1)); 92 s.setAge(20); 93 stuData.put("st"+(i+1),s); 94 } 95 96 StudDataFile sf=new StudDataFile(); 97 sf.objectWriter(stuData); 98 sf.objectReader(); 99 } 100 101 }
ObjectInputStream,布布扣,bubuko.com
原文:http://www.cnblogs.com/thrive/p/3915246.html