0

私は、テキストファイルで多くの検索/置換を行うコンソールベースのJava/Groovyアプリケーションを作成しています。たとえば、プログラムが前回に置き換えfoobarことを認識している場合、デフォルトでは、次の置換もおそらく必要であることを認識しているはずfooですbar。私の考えは、プロンプトの入力フィールドに事前What would you like to rename this to?入力して、不必要に再入力する必要がないようにすることでしたが、Javaでこれを行う簡単な方法を見つけることができません。

これは可能ですか?もしそうなら、それは推奨される方法でしょうか?

4

2 に答える 2

2

空の入力が最後に挿入された入力と等しいと仮定してみませんか?その事前入力を管理する方がはるかに簡単stdinです。

いずれにせよ、最近のリストを作成する予定がある場合は、最後の1つまたは前のリストなどを伝えるために特殊文字の組み合わせを用意することをお勧めします。

于 2010-06-21T22:32:43.117 に答える
1

この問題には多くの有用なアプローチがあります。ユーザーが最後に置き換えた値のみを記憶するか、ユーザーが同様の置き換えを要求した場合に備えて、最後のn個の置き換えでキャッシュを維持することができます。または、前の入力を無視して、必要なたびにユーザーに置換を提供するように強制することもできます。適切なアプローチは、ユーザーが同じ値を頻繁に置き換える場合など、置換操作の頻度によって異なります。問題のドメインとユーザーに提供する対話の種類に応じて、適切なソリューションを選択する必要があります。

これらのソリューションの実装は簡単です。最も直感的なのは、置換キャッシュを単純なテキストファイルに保存し、起動時にロードし、シャットダウン時にキャッシュを保存することです。置換キャッシュは、プレーンテキストとして書き込むのではなく、ファイルにシリアル化することもできます。

于 2010-06-21T22:47:39.070 に答える