此代码段在我的开发计算机(使用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]);
}
}
标签:string,windows,java
来源: https://codeday.me/bug/20191121/2054107.html