如何使用java FIle i / o替换或删除或更新文件中的行

时间:2013-05-27 09:01:08

标签: java file file-io collections java-io

以下是我的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代码?

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:1)

我会说使用一个ArrayList并执行类似于Juned Ahsan所说的内容,但不需要第二个文件。

  1. 逐行阅读原始文件
  2. 如果不更改该行,则将其放在ArrayList中
  3. 更改/替换/删除
    • 如果您必须更改/替换该行,请更改/替换它并将其放入ArrayList
    • 如果您必须删除该行...什么都不做
  4. 完成阅读后,请写入原始文件,覆盖其中的内容。
  5. 使用此方法,您可以避免使用和重命名另一个文件,它仍然可以满足您的要求。