您的位置:程序门 -> java -> j2se / 扩展类



如何将一个结构保存文件


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


如何将一个结构保存文件
发表于:2007-05-28 23:58:14 楼主
写了一个程序,
里面的对象间是树型关系,
想保存这棵树到文件,
有什么简便的方法?
如何从文件中读回?

如何保存程序现场到一个文件中?
又如何读取?

多多指教!
发表于:2007-05-29 00:26:221楼 得分:0
xml
发表于:2007-05-29 01:02:192楼 得分:0
同意楼上。。。

如果实现了serializable,直接写入也可以。。。
发表于:2007-05-29 09:15:463楼 得分:0
同意楼上和楼上的楼上。都正确。
发表于:2007-05-29 10:23:544楼 得分:0
xml最简洁明了.
发表于:2007-05-29 10:54:555楼 得分:0
xml,不二选择
发表于:2007-05-29 11:23:526楼 得分:0
问题是我know   nothing   about   xml,
有没有什么文章介绍?
短时间可否学成?
发表于:2007-05-29 12:38:087楼 得分:0
看看xmldocument这个类,或者到网上查一下.
发表于:2007-05-29 13:34:078楼 得分:0
up   用xml。
http://www.cnblogs.com/suny2006/archive/2006/12/16/594432.html
发表于:2007-06-25 10:50:069楼 得分:0
用serializable最方便了。
发表于:2007-06-25 11:25:1310楼 得分:0
按照数据结构里面的方法   线索化以后   保存为list类型。。。。
发表于:2007-06-27 17:09:0511楼 得分:0
如果不需要保存後人为地查看,我偏向於serializable。曾今这样保存过一个awt的ui程序,因为要求打开时恢复到记录上一次关闭时界面状态(比如一棵目录树,当前展开了那些子树)。
发表于:2007-06-27 17:43:4212楼 得分:0
感觉还是xml
发表于:2007-06-28 02:54:2813楼 得分:0
如果实现了serializable
然后直接用objectouputstream.writeobject(object   obj)  
读进来的时候用object   objectinputstream.readobject()    
这个东西比较有意思,特别是写树这些有很多层的组件,非常好用.

下面是最简单的把一个jbutton的对象写入到硬盘里,然后读取出来,再显示在jframe上,因为jbutton已经实现了serializable,所以就不用再实现了,自己写了一下,复习一下,好久没弄过了,呵呵:
import   java.io.*;
import   javax.swing.*;

public   class   writeobject   {
               
                public   static   void   main(string[]   args)   {
                               
                                objectoutputstream   oos   =   null;
                                objectinputstream   ois   =   null;
                                try   {
                                                fileoutputstream   fos   =   new   fileoutputstream( "obj.dat ");
                                                oos   =   new   objectoutputstream(fos);                                            
                                                jbutton   button   =   new   jbutton( "my   button ");
                                                oos.writeobject(button);
                                                oos.close();
                                                oos   =   null;
                                               
                                                fileinputstream   fis   =   new   fileinputstream( "obj.dat ");
                                                ois   =   new   objectinputstream(fis);
                                                jbutton   button2   =   (jbutton)ois.readobject();
                                                ois.close();
                                                ois   =   null;
                                               
                                                jframe   frame   =   new   jframe( "example ");
                                                frame.getcontentpane().add(button2);
                                                frame.setdefaultcloseoperation(jframe.exit_on_close);
                                                frame.setsize(400,   400);
                                                frame.setvisible(true);
                                }   catch(ioexception   ioex)   {
                                                system.out.println(ioex.getmessage());
                                }   catch(classnotfoundexception   cnex)   {
                                                system.out.println(cnex.getmessage());
                                }   finally   {
                                                try   {
                                                                if   (oos   !=   null)
                                                                oos.close();
                                                                if   (ois   !=   null)
                                                                ois.close();
                                                }   catch(ioexception   ioex2)   {
                                                               
                                                }
                                               
                                }
                }
}
发表于:2007-06-28 17:18:0914楼 得分:0
用序列化最省事,但是输出的文件不能阅读;用xml的话方便扩展,jdom例子很多的
发表于:2007-06-28 18:17:3915楼 得分:0
学习一下


快速检索

最新资讯
热门点击