我是楼主
因为会在
while(true) {
doCheck();
sleep(500);
}
进行检查,如果抛异常的话,会比较慢.
因为会在
while(true) {
doCheck();
sleep(500);
}
进行检查,如果抛异常的话,会比较慢.
解决方案 »
- java 中+=和=的区别
- 遇到错误:进行语法解析时已到达文件结尾,大家帮忙~
- ArrayList 中怎么能添加char,晕!!!!!
- 有没有直接改变类名的语句?在线等
- java 配置变量,解决初级问题
- 如何获得编辑光标的当前像素位置?在jEditorPane上
- somebody help me!
- 请教:如何用简单的方式将某个指定目录下的几十个jar文件在CLASSPATH变量中注册?(50)
- 我正要学java,现在项目中要在java下实现打印的功能有关图像文件的,我要看什么书?很急
- 我急需在主页上动态生成2维折线图,用JAVA如何实现?或有没有其他方法?
- 疯掉了,我的程序界面怎么自己不刷新了?
- 怎样获得system memory大小?
那我就不知道了
while (true) {
//check file, is modified?
if (file.lastModified() > beginTime) {
System.out.println("modified...");
File temp = new File(file.getParent() + "\\~" + file.getName());
while (true) {
//check the file is released?
if (file.renameTo(temp)) {
//recover the file
temp.renameTo(file);
break;
}
else {
System.out.println("waiting for release");
Thread.sleep(timeOut);
}
}
break;
}
else {
System.out.println("waiting...");
Thread.sleep(timeOut);
}
}
}
扩号对的不是很齐.
先用lastModified判断文件是否被修改.
再判断文件是否被释放(不再被占用),用renameTo判断,
调用时
File file = new File(FILE_NAME);
//get the last modified time
long beginTime = file.lastModified();
//start excel
Runtime.getRuntime().exec("cmd /c start " + FILE_NAME);
this.checkFile(file, beginTime, 500);