2013-02-10 36 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