私はいくつかのjsonデータで15-16分ごとに更新されるテキストファイルを持っています。これらのjsonデータは、####行で区切られています。ファイルのスニペットは:Javaで区切られたjsonオブジェクトでテキストファイルを解析するには?
[{"accountId":"abc","items":[{"serviceName":"XYZ","dataCenter":"TG","startTimeUtc":"2017-04-05T19:57:33.509+0000","endTimeUtc":"2017-04-05T19:57:33.509+0000","usage":[{"resourceName":"XYZ_EE_PAAS_GATEWAYS","quantity":7,"units":"number"}]}]},{"accountId":"XYZp1cm9mbe","items":[{"serviceName":"XYZ","dataCenter":"TG","startTimeUtc":"2017-04-05T19:57:33.509+0000","endTimeUtc":"2017-04-05T19:57:33.509+0000","usage":[{"resourceName":"XYZ_EE_PAAS_GATEWAYS","quantity":6,"units":"number"}]}]}]
######################
[{"accountId":"abc","items":[{"serviceName":"XYZ","dataCenter":"TG","startTimeUtc":"2017-04-05T19:59:33.523+0000","endTimeUtc":"2017-04-05T19:59:33.523+0000","usage":[{"resourceName":"XYZ_EE_PAAS_GATEWAYS","quantity":7,"units":"number"}]}]},{"accountId":"XYZp1cm9mbe","items":[{"serviceName":"XYZ","dataCenter":"TG","startTimeUtc":"2017-04-05T19:59:33.523+0000","endTimeUtc":"2017-04-05T19:59:33.523+0000","usage":[{"resourceName":"XYZ_EE_PAAS_GATEWAYS","quantity":6,"units":"number"}]}]}]
######################
[{"accountId":"abc","items":[{"serviceName":"XYZ","dataCenter":"TG","startTimeUtc":"2017-04-05T20:01:33.531+0000","endTimeUtc":"2017-04-05T20:01:33.531+0000","usage":[{"resourceName":"XYZ_EE_PAAS_GATEWAYS","quantity":7,"units":"number"}]}]},{"accountId":"XYZp1cm9mbe","items":[{"serviceName":"XYZ","dataCenter":"TG","startTimeUtc":"2017-04-05T20:01:33.531+0000","endTimeUtc":"2017-04-05T20:01:33.531+0000","usage":[{"resourceName":"XYZ_EE_PAAS_GATEWAYS","quantity":6,"units":"number"}]}]}]
######################
このファイルは15-16分ごとに新しいエントリで更新されます。私はファイルを読んで、####行を除く最新のエントリをjsonオブジェクトに格納したいと思います。どのようにJavaでそれを行うには?私は一定ではないので、15分間隔を使用したくない。
私の単純な要件は、私がファイルを読んで、###行の上の最後のjsonを取得したいと思っていた時点です。 Javaの8で
2つの質問:1番目:各アップデートに1行だけ追加されますか?第2:あなたのファイルはどれくらい大きくなりますか?これらの質問に対する答えは、あなたが選ぶべきソリューションに大きな影響を与えます:ファイルが比較的小さい場合、各アップデートで完全なファイルを再解析するための大きなオーバーヘッドはありません。各更新で1行だけが追加された場合は、更新をトリガーとして使用して最後の行のみを解析することができます。 – mschenk74
@ mschenk74 1番目:各アップデートに1行だけ追加されますか? これは、単一行のエントリとして提供されるか、または複数行の書式付きjsonエントリとして提供される場合があります。 2番目:ファイルのサイズはどのくらい大きくなりますか? ファイルの最大エントリ数は15です。 – saurav
あなたのこの追加情報があれば、あなたのケースでは最適化の必要はないと言います。だから私は以下のSebastion Kruseの答えから始めます。ソリューションの速度が遅すぎない限り、ソリューションを最適化しないでください。注意:各アップデートで完全なファイルを解析するときは、以前のアップデートですでに解析した行を検出するロジックをコーディングする必要があります。 – mschenk74