谁能建议我如何存储历史记录?
我正在制作一个 Web 浏览器,我必须保存历史记录,然后在用户需要时显示。我尝试过 ArrayList,但它只会存储打开的应用程序使用过的 Web 链接。关闭应用程序后,所有保存的 Web 链接都将消失。有什么办法可以让我也显示前一天的所有网络链接。请在我的项目中根据需要回复代码。
我正在使用 Swing 用 Java 制作我的 Web 浏览器
谁能建议我如何存储历史记录?
我正在制作一个 Web 浏览器,我必须保存历史记录,然后在用户需要时显示。我尝试过 ArrayList,但它只会存储打开的应用程序使用过的 Web 链接。关闭应用程序后,所有保存的 Web 链接都将消失。有什么办法可以让我也显示前一天的所有网络链接。请在我的项目中根据需要回复代码。
我正在使用 Swing 用 Java 制作我的 Web 浏览器
您创建的 ArrayList 仅存在于内存中,因此当 java 程序退出时,操作系统会重用同一块内存来运行其他程序,因此 ArrayList 会丢失。
您需要以某种方式将历史链接存储到磁盘。
最简单的选择是在您的 java 程序退出之前将 url 写入文件,然后在程序启动时将它们读回。首先,也许您可以将您的 java 历史对象转换为 json。那里有几个 json 库,但 Gson ( http://javajing.com/2012/07/13/json-using-gson.html ) 可能是最容易开始的。因此,步骤是:1)将 java History 对象(或您想出的任何类)转换为 json,2)将 json 保存到文件中。恢复 url 将是相反的:1)从文件中读取 json,2)将 json 转换回历史类(或其他)。
另一种选择是使用数据库。我建议看一下sqlite或h2。两者都可以嵌入到 java 应用程序中。对于此选项,您需要创建一个数据库模式,然后使用 sql 查询和插入 url 到/从数据库。
另一种选择可能是将 url 存储到 Amazon 的 S3 之类的存储服务中。