精简代码
版本一
// 代码的原意是如果存在文件,就判断一个文件中内容有无,没有的话线程睡0.1s, 有的话跳出循环
while(true){ if(Files.exists(Paths.get("data/mkcert/"+serialNo+".crt"))){ Path path = Paths.get("data/mkcert/" + serialNo + ".crt"); File file = new File(String.valueOf(path)); if (0 == file.length()) { Thread.sleep(100); }else { break; } } } • 11
版本二
改版是限制在2s 之内 避免上面的程序死循环
int tick = 0; while(tick++ < 20){ if(Files.exists(Paths.get("data/mkcert/"+serialNo+".crt"))){ File file = new File("data/mkcert/" + serialNo + ".crt"); if (0 == file.length()) { Thread.sleep(100); }else { break; } }else { Thread.sleep(100); } }
版本三
改版是限制在2s 之内 反过来,当文件存在并且有内容 跳出循环 否在等待 少用了if嵌套
int tick = 0; while(tick++ < 20){ File file = new File("data/mkcert/" + serialNo + ".crt"); if(file.exists() && file.length() > 0){ break; } Thread.sleep(100); }