如何逐行读取文件并在每行附加一些字符串?

时间:2013-05-04 09:19:02

标签: java file-io append

我想打开一个文件,然后逐行阅读。在某些行中,我想要将一个字符串追加到此行。这可能吗?

我有一个打开文件的代码,并按如下方式阅读:

File file = new File("MyFile.txt");
BufferedReader bufRdr = new BufferedReader(new FileReader(file));

String line = null;

try {
    while((line = bufRdr.readLine()) != null)
    {
        // read line by line and append some string to the line

    }
} catch (IOException e) {
    // ...
}

但是如何将字符串附加到当前行并将其写入文件?

3 个答案:

答案 0 :(得分:1)

当您逐行阅读文件时。将文本追加到行并将其写入其他文件。比如说具有不同名称的文件,稍后您可以重命名该文件。

就像

一样
try {
   while((line = bufRdr.readLine()) != null)
    {
    // read line by line and append some string to the line
    //pseudo code
    newline = line + "yourtext";
    outputstreamtootherfile.write(newline);

    }
} 

我认为你无法同时读写同一个文件,因为它保存了读/写锁。

由于

答案 1 :(得分:0)

创建新文件并继续写入此文件(当您逐行读取其他文件时),并进行所需的修改。然后删除现有文件并为新创建的文件提供已删除文件的名称。这就是我接近它的方式。

以下链接确认了这种方法以及其他替代方案。

Modify a .txt file in Java

答案 2 :(得分:0)

  1. readLines读取List<String>的行并在需要时更改一些字符串(行)
  2. 创建新的临时文件
  3. 通过append
  4. 向其写入行(或逐行)
  5. 删除旧文件
  6. 重命名