/**
* Copy directory.
*/
private boolean copyDir(DirContext srcDir, File destDir) {
try {
NamingEnumeration enumeration = srcDir.list("");
while (enumeration.hasMoreElements()) {
NameClassPair ncPair =
(NameClassPair) enumeration.nextElement();
String name = ncPair.getName();
Object object = srcDir.lookup(name);
File currentFile = new File(destDir, name);
if (object instanceof Resource) {
InputStream is = ((Resource) object).streamContent();
OutputStream os = new FileOutputStream(currentFile);
if (!copy(is, os))
return false;
} else if (object instanceof InputStream) {
OutputStream os = new FileOutputStream(currentFile);
if (!copy((InputStream) object, os))
return false;
} else if (object instanceof DirContext) {
currentFile.mkdir();
copyDir((DirContext) object, currentFile);
}
}
} catch (NamingException e) {
return false;
} catch (IOException e) {
return false;
}
return true;
}
/**
* Copy a file to the specified temp directory. This is required only
* because Jasper depends on it.
*/
private boolean copy(InputStream is, OutputStream os) {
try {
byte[] buf = new byte[4096];
while (true) {
int len = is.read(buf);
if (len < 0)
break;
os.write(buf, 0, len);
}
is.close();
os.close();
} catch (IOException e) {
return false;
}
return true;
}
java 复制目录(来自tomcat6源代码)
原创
©著作权归作者所有:来自51CTO博客作者朱晋君的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:windows下JConsole连接linux服务器java.lang.OutOfMemoryError: Java heap space
下一篇:java.awt.HeadlessException: No X11 DISPLAY variable was set, but this program performed an operatio
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
【小白源代码】小区物业管理系统
基于SpringBoot实现的小区物业管理系统是为物业管理打造的一款在线管理平台,它可以实时完成信息处理,对小区信息、住户等进行在线管理,使其系统化和规范化。
SpringBoot Vue 系统源码 课程设计 -
Tomcat6性能优化
Tomcat6性能优化
Tomcat6性能优化 -
Tomcat6线程优化
Tomcat 6 线程优化
Tomcat 6 线程优化