0

株式市場データを分析するツールを書いています。このために、データをダウンロードし、在庫に対応するすべてのデータをdouble[][]hd の data.bin に 20*100000 配列として保存します。これを何らかのデータベースに配置する必要があることはわかっていますが、これは単純にパフォーマンスに関する最良の方法です。

ここに私の問題があります: データを更新して検索する必要があります: 更新: 時間の経過とともに配列の最後に新しいデータを追加する必要があります。検索: さまざまなデータ ファイルを繰り返し処理して、最小値を見つけたり、移動平均を計算したりしたいと考えています。

ファイル全体を読み込んで書き込みを更新したり、特定の領域で検索したりすることで、両方を行うことができます...しかし、データ全体が必要ないため、これはやややり過ぎです。

だから私の質問は次のとおりです: ライブラリ (Java) またはファイル全体を開くことなく、バイナリ ファイルの一部を開いたり、読み取ったり、変更したりするのに似たものはありますか? または、特定のポイントから開始してファイルを検索しますか?

4

2 に答える 2

0

RandomAccessFile を使用すると、ファイル内の特定の位置をシークし、ファイルの一部を更新したり、すべてを書き換えることなく最後に新しいデータを追加したりできます。ここのチュートリアルを参照してください: http://docs.oracle.com/javase/tutorial/essential/io/rafs.html

于 2013-02-10T10:49:46.927 に答える
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 )のような小さな埋め込みデータベースなど、データベースへの移行を検討することをお勧めします。

于 2013-02-10T10:50:41.287 に答える