黑马程序员技术交流社区
标题:
代码求解释
[打印本页]
作者:
李道福
时间:
2013-3-31 22:04
标题:
代码求解释
本帖最后由 李道福 于 2013-3-31 23:27 编辑
import java.io.*;
import java.util.*;
class FileOperate{
File file=null;
FileOperate(){
file=new File("D:\\li\\li.txt");
}
public void save(Object obj) throws Exception{
ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream(file));
oos.writeObject(obj);
oos.close();
}
public Object load() throws Exception{
ObjectInputStream ois=new ObjectInputStream(new FileInputStream(file));
Object obj=ois.readObject(); //这里我只取出了一个对象,返回了一个对象给调用者
ois.close();
return obj;
}
}
class Util{
List lt=null;
FileOperate fo=null;
Util(){
lt=new LinkedList();
fo=new FileOperate();
}
public void add(String text) throws Exception{
lt.add(text);
fo.save(lt); //这句没看懂,在主方法中我只创建了一个Util对象也就是只创建了一个LinkedList对象;那我每
} //调用一次add()方法是不是就要调用save()方法将lt存入硬盘,也就是我调用了很多次add()方法
//那我就是将对象lt存入硬盘很多次,但为什么我在取出数据时为什么只要返回一个对象就可以
//将所有存入的信息全部取出?
public void findAll() throws Exception{
LinkedList lt2=(LinkedList)fo.load(); //这里fo.load()方法只返回了一个LinkedList对象,应该总能取出一个输入的信息才对呀?
Iterator it=lt2.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
}
}
public class Test2{
public static void main(String[] args) throws Exception{
BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in));
Util ul=new Util();
while(true){
System.out.println("请输入信息:");
String text=bufr.readLine();
ul.add(text);
if(text.equals("over"))
break;
}
System.out.println("输出全部信息:");
ul.findAll();
}
}
求大神解释下
复制代码
作者:
黄小贝
时间:
2013-3-31 22:54
1.png
(37.86 KB, 下载次数: 2)
下载附件
2013-3-31 22:54 上传
作者:
李道福
时间:
2013-3-31 23:28
黄小贝 发表于 2013-3-31 22:54
多谢……
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2