0

以下は私のJavaクラスファイルです:

Public class subscriberAction {
private Service1 s1 = ServiceFactory.getServiceImpl1();
private Service2 s2 = ServiceFactory.getServiceImpl2();
----
----
----

public Service1 getServiceImpl1Obj(){
    -----
    ----
    return s1.getInstance();
}

public Service2 getServiceImpl2Obj(){
    -----
    ----
    return s2.getInstance();
}

}// クラスの終わり

Java コードを動的に使用して、プライベート クラス変数を削除し、次のコードのようにreturn ステートメントを変更したいと考えています。プログラムされた Java ファイルを実行すると、SubscriberAction Javaファイルは次のように変更されます。

Public class SubscriberAction {

public Service1 getServiceImpl1Obj(){
    -----
    ----
    return ServiceFactory.getServiceImpl1().getInstance();
}

public Service2 getServiceImpl2Obj(){
    -----
    ----
    return ServiceFactory.getServiceImpl2().getInstance();
}

}

Javaコードの書き方を教えてください。

4

2 に答える 2

1

ArrayList を使用して、Juned Ahsan が言ったことと同様のことを行いますが、2 番目のファイルは必要ありません。

  1. 元のファイルを 1 行ずつ読み取る
  2. その行を変更しない場合は、ArrayList に配置します。
  3. 変更・置換・削除
    • 行を変更/置換する必要がある場合は、変更/置換して ArrayList に配置します
    • 行を削除する必要がある場合...何もしないでください
  4. 読み込みが完了したら、元のファイルに書き込み、既存のファイルを上書きします。

この方法を使用すると、別のファイルを使用して名前を変更する必要がなくなり、求めていることを実行できます。

于 2013-05-27T17:13:46.770 に答える
1

ファイルに対して直接行うことはできません。これを達成する方法は次のとおりです。

  1. 元のファイルを 1 行ずつ読み取る
  2. 行に変更が必要ない場合は、バックアップ/一時ファイルにコピーします
  3. 行の変更が必要な場合は、更新された行をバックアップ/一時ファイルに書き込みます。行が必要ない場合は、バックアップ/一時ファイルに書き込まないでください。
  4. 元の読み取りとバックアップ/一時への書き込みが完了したら、元のファイルを削除します
  5. バックアップ/一時ファイルの名前を元のファイルに変更します

同じコードを書いていただけると幸いです!

于 2013-05-27T09:04:45.547 に答える