gpt4 book ai didi

Java - String.contains() 行为异常

转载 作者:可可西里 更新时间:2023-11-01 09:24:31 27 4
gpt4 key购买 nike

这段代码在我的开发机器上运行良好(使用 Netbeans IDE 在 VirtualBox jre 8 上安装的 Windows 7),但在另一台机器上(Windows 7 jre 8)总是返回 true。它应该只查找名称为“town_house.html”的文件,而不是它总是为文件夹中的每个文件返回 true。从提示符运行 jar 文件我没有得到任何异常。也许这只是我通常用 C/C++ 编程的一个小错误……有什么想法吗?

for(File f : files)
{
if(f.toString().contains("_") &&
f.toString().contains(".html")){
System.out.print("Processing file: " + f.getName()+ "\n");
String[] fileSplit = f.getName().split("_");
towns.add(fileSplit[0]);

}
}

提前致谢

最佳答案

您正在检查 toString() 而不是 getName() - 目录路径可能包含下划线。

试试这个(还要注意简化测试):

for(File f : files) {
if (f.getName().matches(".*_.*\\.html")) {
System.out.print("Processing file: " + f.getName()+ "\n");
String[] fileSplit = f.getName().split("_");
towns.add(fileSplit[0]);
}
}

关于Java - String.contains() 行为异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23609097/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com