首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > Apache >

关于apache解压zip和sleep程序程序退出有关问题

2012-12-19 
关于apache解压zip和sleep程序程序退出问题前两天写了http://wcf1987.iteye.com/admin/blogs/894160是利用

关于apache解压zip和sleep程序程序退出问题

前两天写了

http://wcf1987.iteye.com/admin/blogs/894160

是利用apache解压zip包的,大体实验都很正常,但是后来发现如果解压缩的zip中含有空文件夹,会发生一个问题

  zipEntry = (ZipArchiveEntry) en.nextElement();                    if (zipEntry.isDirectory()) {              // mkdir directory              String dirName = zipEntry.getName();   

?zipEntry是一个目录时(当zip中含有空目录时,zipEntry就会指向这个目录),但是zipEntry.isDirectory()却无法正常识别这个目录,他会认为这是一个文件....

?? 解决方案

String s=zipEntry.getName();if (s.endsWith(File.separator)) {   

?

从zipEntry中看到他的name属性中还可以辨识出这是一个目录(因为最后以/结尾),所以这部分代码修改为如上。。。后来解压正常

?

?

/** * stop the thread */public void stopThread() {shutdownRequested = false;this.interrupt();}/** * the thread sleep for reducing the system pressure *  * @param time */private void sleepTime(int time) {try {Thread.sleep(time * 1000);} catch (InterruptedException e) {return;// TODO Auto-generated catch block}}

?

这是这两天写的关于线程sleep,但是又需要外部调用停止的方法,简而言之,就是在stop方法中interrupt唤醒线程,在sleep方法中catch InterruptedException e,然后返回。

热点排行