邮件这种结构存储文件,是怎么实现它的快速读写呢?FoxMail的是.BOX结尾的文件.如何用java来快速读取和存取?

解决方案 »

  1.   

    http://www.tianya.cn/publicforum/content/it/1/393696.shtml
    希望能用得上...
      

  2.   

    邮件是rfc822编码的。foxmail是把一个邮箱中的所有邮件都存成一个文件,还是rfc822编码,每封邮件之间有一个分隔符。然后它把这封邮件的一些基本信息存入一个IND文件里。就是你看到的.box文件总有对应的.ind文件。ind文件应该是一个索引文件(我觉得应该是肯定),可能是一个基于文件系统的数据库,比如类似windows系统的access这样的东西,存一些邮件主题,发件人收件人,等需要索引的信息。
    这样你在看到邮件列表的时候,它只需要读ind文件即可,只有你读一封邮件的具体内容时,才把邮件解析给你看。
    java当然可以读写.box文件,javamail就能对一封邮件进行rfc822编解码。关键是你要能准确的从.box文件里读取到某封邮件的内容。这就需要知道它的ind文件是什么格式的,对ind文件进行解析了。