2010-12-06 32 views
2

Javaで設定ファイルを編集しようとしています。私が本当に必要とするのは、一行を変更することです。そのため、ファイル全体を読み込んで書き込むことは、構成ファイルが大きくなる可能性があるため、時間の無駄になります。ファイルをJavaで1行編集する

これを行うより効率的な方法はありますか?ファイルの読み込み/編集/書き出しを除く。ファイル全体を文字列に変換して、私が望む行を置き換えて、それを元に戻すことです。

私はそれがどれほど効率的か、誰かが私に他の提案を与えることができないか、私が言いましたが、実行時間が重要であることは分かりません。

+4

"ファイル全体を読んでそれを書き戻す"は、基本的に "ファイル全体を文字列に変換して、私が望む行を置き換えて書き戻す"と同じことです。 –

+0

そのファイルの使用方法によって異なります。構成ファイルが小さく、変更がまれにしか適用されない場合は、読み取り/置換/書き込みのみを行います。それは最も簡単な方法でしょう。 – khachik

+0

どのような種類の設定ファイルを編集していますか?それが 'properties'ファイルであれば、すでにAPIが存在していますので、既存のライブラリを使うほうが良いでしょう。 – darioo

答えて

4

代わりにPreferences APIを使用することをおすすめします。 Windowsプラットフォームでは、設定がレジストリに保存されます。他のプラットフォームでは、アプリケーション設定を保存する対応する方法が使用されます。 Preferences API Overviewも参照してください。

2

私たちはここでどのくらい大きな設定ファイルを使用していますか? 1k行ですか? 10k? 1m行ですか?編集したい行が最後の行であれば、その行の先頭に移動し、そこでファイルを切り捨てて、新しい行を書き出します。そうでなければ、それを全部読んで、もう一度書く必要があります。

ああ、言及している2つのオプションは実際には同じです(読み込み/編集/書き込み)。

第3の手では、大部分の設定ファイルのサイズを考えると、書き込みに時間がかかり過ぎて書き込みサイクルが制限されるフラッシュ記憶装置のような奇妙な制約がない限り、それは無関係だと思います。

関連する問題