2009-04-09 2 views
1

私はシミュレーションのための変数を作成するツールを持っています。現在のワークフローでは、これらの変数をシミュレーション入力ファイルに手作業でコピーします。入力ファイルは、標準のフラットファイルであり、バイナリまたはXMLではありません。私はフラット入力ファイルに変数の追加を自動化したいと思います。既存のフラットファイルの中間を編集する最適な方法は何ですか?

変数はファイル内の既存の変数にコピーします。

新しい変数: 長さ10 高さ20 奥行30個の

旧変数: ... 体重100 年齢20 長さ10 高さ20 奥行30 ...

古い変数を新しい変数にコピーしたいと思います。フラット入力ファイルには200行あります。

ありがとうございました。

P.S.これはWindows上にあります。

+0

私はあなたがファイル全体を書き直す方が良いと思います。 – mpen

+0

@マーク、私は同意する - 私は "どのように"ファイルを書き換えることは答えが必要な質問だと思う。 – ninesided

答えて

1

フラットを使用していると、オリジナルの読み取り、一時ファイルへの書き込み、元の行の書き込み、データの変更のいずれかを行う古い方法を使用しています。データを追加するには、適切な時点で一時ファイルに書き込みます。データを削除するには、元のファイルからコピーしないでください。

最後に、両方のファイルを閉じて、一時ファイルの名前を元のファイル名に変更します。

また、少しのデータベースについて考えるときもあります。

+0

私はこのアプローチを行った。私は一時変数にファイルを読み込み、ファイルの途中に行って、編集する必要があるビットを変更して、ファイルをもう一度書き出しました。特に、私は部分行ではなく行全体を置き換えているので、うまく動作しているようです。 – JustADude

0

このようなものについては、私は単純なtemplate engineを見ています。変数値の代わりに定義済みのマーカートークンを持つ基本テンプレートを用意しておき、必要な値をテンプレートとともに渡すだけで、結果ファイルを出すことができます。あなたのニーズを満たす数字のOpen Source template engines available in Javaがあります。あなたの選択した言語でもそのようなものが利用可能であると思います。あなたはあまりにも難しいことなしにあなた自身のロールをさえすることができます。

関連する問題