繁体   English   中英

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

[英]how to read a file line by line and append some string each line?

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

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

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) {
    // ...
}

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

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

就像

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);

    }
} 

我认为您无法同时读取和写入同一文件,因为它拥有读取/写入锁定。

谢谢

创建新文件并继续以所需的修改对此文件进行写入(当您逐行读取其他文件时)。 然后删除现有的文件,并给新创建的文件一个已删除文件的名称。这就是我的处理方法。

这是确认此方法以及其他替代方法的链接。

在Java中修改.txt文件

  1. readLines将行读取到List<String>并在需要时更改一些String(行)
  2. 创建新的临时文件
  3. 通过追加将行(或一行一行)写入该行
  4. 删除旧文件
  5. 改名

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM