我正在尝试从以public
开头的测试文档中删除行。我尝试了以下内容,但public
行未被删除。我该如何解决?
我感谢任何帮助。
简单:
In less than a week,
public face of FIFA
has gone from something resembling
an old-style Communist Party rally
to what looks more like a scene from
代码:
try (PrintWriter writer = new PrintWriter("D:\\hl_sv\\" + newName);
Scanner scanner = new Scanner(file)) {
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
if (!line.equals("public")) {
writer.println(line);
writer.flush();
}
}
} catch (Exception e) {
e.printStackTrace();
}
答案 0 :(得分:2)
您需要使用String#startsWith(String str)
:
if (!line.startsWith("public")) {
equals
检查整个行是否等于public
。
答案 1 :(得分:1)
您正在使用equals
方法,只有当行只有一个单词public
时才会返回true。
equals
仅在完全匹配时才返回true。
您应该使用String.startsWith
方法而不是相等。
line.startsWith("public")
如果String.contains()
可以在字符串
public
答案 2 :(得分:0)
if (!line.startsWith("public")) {
//do work
}
你要检查整行是否等于字符串“public”,所以如果行上有任何其他字符则不匹配。需要查看公开是否出现在该行的任何位置。