如果不用数据库,可能XML是最好的选择了。可以说这是最好的文本数据库了,操作很方便,又很流行……,:)
但速度当然会……,不过如果是本地的,是应用程序,一般没什么问题。
解决方案 »
- 求大神看看这段程序编译结果问题
- 想定义一个表,把数据都存储到这个表中,并把最新的数据从表格中读取出来,该怎样实现?
- 急求答案
- 我是一个刚刚学java的人 那个配置文件不知道出了什么问题
- final使用时的疑问?
- 求教该怎样做好这个要求苛刻的负载测试工具(可用分全给了)
- applet中,可以有多个CLASS吗?其中一个是继承于APPLET,其他的被他所使用.在HTML中应该怎么写?是不是所有的CLASS都要写上去?
- jBuilder7的classPath 如何设置
- 为学java 散分
- hashmap数组里存放的key都是同一个对象
- 用File为什么不能创建新文件
- 如何用java实现特定时间的程序运行!
第二,性能是个问题,如果用dom解析的话,当数据量达到数十兆,乃至数百兆的时候,
速度如何,我没有这方面的经验,不过肯定应该不快吧?有没有大虾知道outlook express是如何做的?
foxmail也差不多了:)我们可以这样考虑:如果不用数据库,我们只有两种选择:文本文件或二进制文件。
文本文件来做最大的问题一是安全二是速度,对于XML来说,安全没办法了,速度如果用SAX来说不会有太大问题,(因为是作数据库来用,不必要用DOM吧?)。用二进制文件来保存,你自己定义好每条记录的格式,写对象流的方式很容易实现,安全性有保障了,但要提高效率还在于自己要有好的算法来添加、检索、更新等。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
为什么?数据库操作肯定涉及到更新,删除等,好像sax实现不了吧?sax好像只能分析xml,不能修改xml,而且sax不能对xml文档做全面的描述,也无法
实现很多其他的数据库功能吧。(要不就是我孤陋寡闻了,呵呵)
对,SAX只能解析不能修改,我考虑有误,只想到读的快点。我用MSXML在BCB下做了一个桌面应用,是DOM方式的,感觉还不算慢。
JAVA下的DOM也做过,速度感觉不出来,可能是数据量不算太大的原因吧。如果不用XML,文件格式可以自己定义,只要算得快,对吧?
其实在这里用XML不是它的强项。你的问题可能最好的方法还是自定义一个二进制结构的文件吧。