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代码来删除私有类变量并修改返回语句,如下面的代码。如果我运行编程的 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 所说的操作,但不需要第二个文件。

  1. 逐行读取原始文件
  2. 如果该行不被更改,则将其放在 ArrayList 中
  3. 更改/替换/删除
    • 如果必须更改/替换该行,则更改/替换它并将其放入 ArrayList
    • 如果您必须删除该行...什么也不做
  4. 读完后,写入原始文件,覆盖其中已有的内容。

使用这种方法,您可以避免使用和重命名另一个文件,它仍然可以执行您的要求。

于 2013-05-27T17:13:46.770 回答
1

您不能直接在您的文件上执行此操作。以下是如何实现它:

  1. 逐行读取原始文件
  2. 如果该行不需要修改,请将其复制到备份/临时文件
  3. 如果需要更改行,请将更新的行写入备份/临时文件。如果不需要行,请不要将其写入备份/临时文件。
  4. 读取原始文件并写入备份/临时文件完成后,删除原始文件
  5. 将备份/临时文件重命名为原始文件

我希望你能写出同样的代码!

于 2013-05-27T09:04:45.547 回答