java - 从文本文件中删除完全匹配的字符串
问题描述
我正在尝试删除我的文本文件中的特定字符串。当前代码逐行获取,直到命中 50。我正在尝试删除记事本中的字符串(EXACT MATCH!),但不知道该怎么做。
Scanner input = new Scanner(new File("C:\\file.txt"));
int counter = 0;
while(input.hasNextLine() && counter < 50) {
counter++;
String tempName = input.nextLine();
//perform my custom code here
//somehow delete tempName from the text file (exact match)
}
我试过input.nextLine().replaceFirst(tempName, "");
没有任何运气
解决方案
如果您使用的是 Java 8,您可以使用java.nio
包执行以下操作:
Path p = Paths.get("PATH-TO-FILE");
List<String> lines = Files.lines(p)
.map(str -> str.replaceFirst("STRING-TO-DELETE",""))
.filter(str -> !str.equals(""))
.collect(Collectors.toList());
Files.write(p, lines, StandardCharsets.UTF_8);
推荐阅读
- javascript - 如何从 parentNode 使用 Javascript 访问 childNode 的子节点?
- powerbi - Power BI 嵌入问题
- excel - 正确使用 GetFolder 获取 SaveToFile 的路径
- powershell - 禁用 RDP 的脚本
- bash - 从bash中的文件中删除一行
- java - 有没有办法为 JTextArea 中的每个数字分配固定数量的字符?
- optimization - 如何在 AMPL 中总结“i 使得 (i,j) 在某个集合中”
- java - 为什么 java 中的 Arrays.sort() 方法不使用计数排序技术?
- javascript - 一次通话两种不同的内容类型
- google-apps-script - 如何将谷歌文档转换为干净的 HTML