总结: 有没有很好的 HTML5/javascript 选项可以选择性地从大型本地文件中读取数据块(假设最终转换为 JSON)?
我要解决的问题:
一些现有程序在本地输出大量数据。我想提供一个基于浏览器的交互式查看器,允许人们浏览这些结果。我可以控制数据的写出方式。我可以将它全部写在一个大文件中,但由于它非常大,我不能只在内存中读取整个内容。因此,我正在从我的 web 应用程序中寻找某种索引或类似 db 的访问。
对解决方案的思考:
1. 蛮力:HTML5 FileReader API 有一个不错的 slice() 方法用于随机访问。所以我可以在文件的开头写出某种索引,用它来查找其他存储对象的位置,并在需要时读取它们。我想在尝试实现这个丑陋的东西之前,我想问一下是否已经有 javascript 库可以做这样(或更好)的事情。
2. HTML5本地数据库。本质上,我正在寻找一个类似于 HTML5 openDatabase() 调用的方法,该调用将基于用户指定的本地文件打开(只读)到数据库的连接。据我了解,无法指定带有预加载数据库的文件。此外,即使有这样的黑客攻击,也不清楚本地文件格式是否跨浏览器相同。我已经看到了从 SQL 语句填充浏览器本地数据库的 phonegap 解决方案。我也可以这样做,但是我说的数据非常大(5-10GB):加载需要一段时间,而且这种重复似乎毫无意义。