A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李道福 中级黑马   /  2013-3-31 22:04  /  1271 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 李道福 于 2013-3-31 23:27 编辑
  1. import java.io.*;
  2. import java.util.*;

  3. class FileOperate{
  4.         File file=null;
  5.         FileOperate(){
  6.                 file=new File("D:\\li\\li.txt");
  7.         }
  8.         public void save(Object obj) throws Exception{
  9.                 ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream(file));
  10.                 oos.writeObject(obj);
  11.                 oos.close();
  12.         }
  13.         public Object load() throws Exception{
  14.                 ObjectInputStream ois=new ObjectInputStream(new FileInputStream(file));
  15.                 Object obj=ois.readObject();        //这里我只取出了一个对象,返回了一个对象给调用者
  16.                 ois.close();
  17.                 return obj;
  18.         }

  19. }

  20. class Util{
  21.         List lt=null;
  22.         FileOperate fo=null;
  23.         Util(){
  24.                 lt=new LinkedList();
  25.                 fo=new FileOperate();
  26.         }
  27.         public void add(String text) throws Exception{
  28.                 lt.add(text);
  29.                 fo.save(lt);   //这句没看懂,在主方法中我只创建了一个Util对象也就是只创建了一个LinkedList对象;那我每
  30.                                         }              //调用一次add()方法是不是就要调用save()方法将lt存入硬盘,也就是我调用了很多次add()方法
  31.                                                         //那我就是将对象lt存入硬盘很多次,但为什么我在取出数据时为什么只要返回一个对象就可以
  32.                                                        //将所有存入的信息全部取出?

  33.         public void findAll() throws Exception{
  34.                  LinkedList lt2=(LinkedList)fo.load();       //这里fo.load()方法只返回了一个LinkedList对象,应该总能取出一个输入的信息才对呀?
  35.          Iterator it=lt2.iterator();                        
  36.          while(it.hasNext()){
  37.                         System.out.println(it.next());
  38.                 }
  39.         }
  40. }
  41. public class Test2{

  42.         public static void main(String[] args) throws Exception{
  43.                 BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in));
  44.                 Util ul=new Util();
  45.                 while(true){
  46.                         System.out.println("请输入信息:");
  47.                         String text=bufr.readLine();
  48.                         ul.add(text);
  49.                         if(text.equals("over"))
  50.                                 break;
  51.                 }
  52.            System.out.println("输出全部信息:");
  53.            ul.findAll();
  54.         }

  55. }

  56. 求大神解释下
复制代码

评分

参与人数 1技术分 +1 收起 理由
张熙韬 + 1

查看全部评分

2 个回复

倒序浏览

评分

参与人数 1技术分 +1 收起 理由
张熙韬 + 1 神马都是浮云!继续加油

查看全部评分

回复 使用道具 举报
黄小贝 发表于 2013-3-31 22:54

多谢……
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马