1
我输入文件中有许多记录和样品,让我们说它(这里行号仅供参考)如何使用java删除文本文件中的特定字符串?
1. end
2. endline
3. endofstory
我希望我的输出:
1.
2. endline
3. endofstory
但当我使用此代码:
import java.io.*;
public class DeleteTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
File file = new File("D:/mypath/file.txt");
File temp = File.createTempFile("file1", ".txt", file.getParentFile());
String charset = "UTF-8";
String delete = "end";
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), charset));
PrintWriter writer = new PrintWriter(new OutputStreamWriter(new FileOutputStream(temp), charset));
for (String line; (line = reader.readLine()) != null;) {
line = line.replace(delete, "");
writer.println(line);
}
reader.close();
writer.close();
}
catch (Exception e) {
System.out.println("Something went Wrong");
}
}
}
我让我的输出:
1.
2. line
3. ofstory
你们可以帮我解决我期望的输出吗?
感谢您的时间。但是,我的预期产出有一个错字。我现在编辑过。所以,请根据它向我提供解决方案。 – venk
@venk我编辑了我的答案来解决这个问题。 – Titus
明白了。谢谢你的回答Titus!我只是用空格替换列表项,line = line.replaceAll(“^”+ delete +“$”,“”);它解决了。 – venk