我无法删除文本文件数据

时间:2017-03-13 17:38:06

标签: java

这是我的档案资料

A -1 D -1 G -1 I -1 K -1 -2
A -1 D -1 G -1 J -1 K -1 -2
B -1 D -1 G -1 I -1 L -1 -2
C -1 E B -1 G -1 I -1 L -1 -2
C -1 F -1 H -1 I B -1 L -1 -2

代码:

File file = new File("input.txt");/*input file where above data is stored.*/
fw = new FileWriter(file);/* file writer is used*/
BufferedWriter bw = new BufferedWriter(fw);
FileReader fr = new FileReader("input.txt");
BufferedReader br = new BufferedReader(fr);

while( (verify=br.readLine()) != null )
{ 
  if(verify != null)
  { 
          if(verify.contains("A"))
          {
           putData = verify.replaceAll("A", "");/*replacing character 'A' with null*/
           bw.write(putData); 
          }

          if(verify.contains("B"))/* for character 'B'*/
          {
         putData = verify.replaceAll("B", "");
         bw.write(putData);
          }
   }
}

我想删除字符' A' ' B'来自文件等,不会打扰其他内容。

我正在尝试使用上面的代码更新文件,但无法更新它。请帮我解决这个问题。

2 个答案:

答案 0 :(得分:1)

你这样做:

{  file_put_contents
     ($filename, str_replace
        ($line . "<whatever character u want to delete>", "",file_get_contents($filename)));
 }

答案 1 :(得分:0)

您不应该一次性阅读文件并更改文件的内容。

  • 首先,阅读文件并保存要保留的每一行 临时名单。然后清除文件的内容。

  • 然后遍历您的临时列表并将每一行写回 文件

  • 最后,刷新()缓冲区并关闭文件。

    在保存到列表之前或写回文件之前,您可以filter / edit任意一行。