这是我的档案资料
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'来自文件等,不会打扰其他内容。
我正在尝试使用上面的代码更新文件,但无法更新它。请帮我解决这个问题。
答案 0 :(得分:1)
你这样做:
{ file_put_contents
($filename, str_replace
($line . "<whatever character u want to delete>", "",file_get_contents($filename)));
}
答案 1 :(得分:0)
您不应该一次性阅读文件并更改文件的内容。
首先,阅读文件并保存要保留的每一行 临时名单。然后清除文件的内容。
然后遍历您的临时列表并将每一行写回 文件
最后,刷新()缓冲区并关闭文件。
在保存到列表之前或写回文件之前,您可以filter / edit
任意一行。