目前我的任务是制作一个可以使用java检查链接是否正确的工具.该链接来自Jericho HTML Parser,我的工作只是检查文件是否存在/链接是否正确.那部分已经完成,困难的部分是优化它,因为我的代码运行(我不得不说)相当缓慢,每次运行65ms
public static String checkRelativeURL(String originalFileLoc, String relativeLoc){
StringBuilder sb = new StringBuilder();
String absolute = Common.relativeToAbsolute(originalFileLoc, relativeLoc); //built in function to replace the link from relative link to absolute path
sb.append(absolute);
sb.append("\t");
try {
Path path = Paths.get(absolute);
sb.append(Files.exists(path));
}catch (InvalidPathException | NullPointerException ex) {
sb.append(false);
}
sb.append("\t");
return sb.toString();
}
Run Code Online (Sandbox Code Playgroud)
在这条线上花了65毫秒
Path path = Paths.get(absolute);
sb.append(Files.exists(path));
Run Code Online (Sandbox Code Playgroud)
我试过用
File file = new File(absolute);
sb.append(file.isFile());
Run Code Online (Sandbox Code Playgroud)
它仍然在65~100ms左右运行.
那么有没有其他更快的方法来检查文件是否存在除此之外?
由于我正在处理超过70k的html文件,每毫秒计数,谢谢:(
编辑:
我尝试将所有文件列入一些List,但它并没有真正帮助,因为它只需要超过20分钟就可以列出所有文件....
我用来列出所有文件的代码
static public void listFiles2(String filepath){
Path path …Run Code Online (Sandbox Code Playgroud)