在java中实现书签列表



我正在开发一个程序,它有三个JTextBox,我的用户可以输入并检查一些文本的正确规则。

所以我想给我的程序添加一个功能,我的用户可以添加或删除他们喜欢的文本到收藏列表,可以在收藏列表中创建文件夹,并把一些文本,如书签库在FireFox或其他web浏览器。

我想使用RandomAccessFile来保存收藏列表作为收藏源。

我如何实现它?有没有更好的方法来实现它?有没有更好的方法从RandomAccessFile?

有谁能帮我吗?

谢谢。

可能有很多方法。这完全取决于你想达到什么目标。

  1. 考虑使用Java序列化机制。可以将书签集合序列化到一个文件。当你的应用程序启动时,你反序列化它,并获得相同的集合数据。

    的优点是:简单且易于实现。缺点:您无法在文本编辑器或其他东西中查看存储的书签。使用相同的类层次结构来加载序列化的版本。

  2. XML是人类可读的,提供了容易的互操作性。其他应用程序可以处理你的书签列表。

    通常需要更多的资源来解析XML并将其加载到内存中,然后创建内部对象结构。虽然可以一直使用DOM遍历树,但它可能不如使用专门化类的内部数据结构方便。
  3. 随机访问文件在固定记录大小下工作最佳。这意味着您的书签的所有字段必须是固定长度的。例如,书签名称为"String"。当你把它写入文件时,你把它存储成一个固定长度的数组,比如20。这自动意味着,如果用户提供的书签名称长度大于20,则将丢失剩余的字符。

    使用上面的警告也很容易实现。当然,记录可以是可变长度的,但这样你就失去了对文件的随机访问,因为你不能轻易地计算特定记录的位置。

Firefox使用JSON存储书签,并允许导出为HTML。

您还可以在Preferences中存储书签和您想要在会话之间保留的东西,见http://download.oracle.com/javase/6/docs/api/java/util/prefs/Preferences.html

最新更新