标签:
上篇文章记录了常用的文件操作,这里记录下通过SSH服务器操作Linux服务器的指定路径下的文件。
这里用到了第三方jar包 jsch-0.1.53.jar
1、删除服务器上指定路径下的所有文件(包括本目录)-经测试,在Linux下运行,没有问题
1 /** 2 * 删除 3 *@param dst 4 *@param sftpUtil 5 *@return 6 *@author qin_hqing 7 *@date 2015年7月6日 下午4:45:31 8 *@comment 9 */ 10 protected static boolean removeFileFromSSH(String dst, ChannelSftp chanSftp) { 11 boolean bl = false; 12 13 try { 14 chanSftp.cd(dst); 15 @SuppressWarnings("unchecked") 16 Vector<LsEntry> v = chanSftp.ls(dst); 17 if (v.size() == 2) { //空文件夹 直接删除 18 chanSftp.rmdir(dst); 19 }else { 20 int delSize = 0; 21 for (Iterator<LsEntry> iterator = v.iterator(); iterator.hasNext();) { 22 23 LsEntry lsEntry = (LsEntry) iterator.next(); 24 String ffName = lsEntry.getFilename(); 25 if (ffName.indexOf(".")>0) { // file 26 chanSftp.rm(ffName); //删除文件 27 }else if(ffName.indexOf(".") == -1) { 28 removeFileFromSSH(dst+ffName+File.separator, chanSftp); //如果路径有问题可以试着把 File.separator 改成 "/"试试 29 chanSftp.cd(dst); 30 } 31 32 if (delSize == v.size()-1) { //当前文件夹下还存在文件夹 33 removeFileFromSSH(dst, chanSftp); 34 } 35 delSize ++; 36 } 37 } 38 39 bl = true; 40 } catch (SftpException e) { 41 e.printStackTrace(); 42 } 43 44 return bl; 45 }
2、上传-明天在更;-)
标签:
原文地址:http://www.cnblogs.com/edi-kai/p/4702636.html