2013-02-10 51 views
0

我在写一个工具来分析股票市场数据。为此,我下载数据,然后将所有与股票相对应的数据保存为一个double[][] 20 * 100000阵列,放在我的HD上的data.bin中,我知道我应该将它放在某个数据库中,但这只是性能方面最好的方法。在java中组织数据(在Mac上)

现在这是我的问题:我需要更新和搜索数据: 更新:随着时间的推移,我必须将新数据追加到数组的末尾。 搜索:我想循环访问不同的数据文件来查找最小值或计算移动平均值等。

我可以通过读取整个文件并更新它写入或在特定区域执行搜索来完成它们。但由于我不需要整个数据,这有点矫枉过正。

所以我的问题是:有没有库(Java)或类似的打开/读取/更改二进制文件的一部分,而无需打开整个文件?或从特定点开始搜索文件?

+1

请问java的工作方式不同在Mac? – leppie 2013-02-10 10:43:38

+0

@leppie不使用纯java库时不使用 – user2058490 2013-02-10 10:49:43

回答

0

你可以尝试寻找随机访问文件:

教程:http://docs.oracle.com/javase/tutorial/essential/io/rafs.html

API:http://docs.oracle.com/javase/6/docs/api/java/io/RandomAccessFile.html

...但你仍然需要找出确切您想要在二进制文件中读取的位置。

你可能要考虑移动到数据库,也许一个小的嵌入式一个像H2(http://www.h2database.com

+0

我试过H2,但它不是我想要的。好随机访问看起来像一个选项谢谢你 – user2058490 2013-02-11 10:58:48