用java实现删除某文件夹下所有指定名称的文件夹(脱离SVN控制)2008-02-27 12:49package dscntsvn;
import java.io.File;
/**
* @author LST(Ivan)
*/
public class Disconnect {
/**循环删除指定文件夹下的指定名称的文件夹<br>
* <font color="red">被删除文件夹内的所有文件和文件夹都会被删除</font>
* @param args: <br>
* [0]:文件夹所在路径;<br>
* [1]:所要删除的文件夹
*/
public static void main(String[] args) {
if(args.length >2 || args.length <1 ){
Disconnect.print("参数个数不正确!参数1:文件夹所在路径,参数2:需要删除的文件夹");
System.exit(-1);
}else if(args.length == 1){
Disconnect.print("与SVN断开连接:");
if(args[0].length()<1){
Disconnect.print("参数不正确!参数1长度为0!");
System.exit(-2);
}
Disconnect.print(Disconnect.rmDirs(args[0], ".svn"));
}else{
if(args[0].length()<1 || args[1].length()<1){
Disconnect.print("参数不正确!参数1或参数2长度为0!");
System.exit(-3);
}
Disconnect.print(Disconnect.rmDirs(args[0], args[1]));
}
}
private static void print(String msg){
System.out.println(msg);
}
/**
* 执行删除文件夹操作的方法
* @param rootdir 文件夹所在路径
* @param dirtodel 需要删除的文件夹
* @return 删除文件夹操作执行过程中的信息
*/
public static String rmDirs(String rootdir,String dirtodel){
StringBuffer sb = new StringBuffer();
try{
File root = new File(rootdir);
if(!root.exists()){
return "路径:["+rootdir+"]不存在!\n";
}
boolean isdir = root.isDirectory();
if(!isdir){
return "";
}
//列出当前文件夹下的所有文件
String[] allfiles = root.list();
if(null != allfiles && allfiles.length >= 0){
//目录不为空
for(int i=0;i<allfiles.length;i++){
//如果文件夹名称与需要删除的文件夹名称相同并且它是一个文件夹,则删除,否则递归调用当前函数
if(allfiles[i].equalsIgnoreCase(dirtodel)){
File curfile = new File(rootdir+"\\"+allfiles[i]);
if(curfile.isDirectory()){
//删除之
if(Disconnect.delpaysical(curfile)){
sb.append("删除["+rootdir+"\\"+allfiles[i]+"]成功!\n");
}else{
sb.append("删除["+rootdir+"\\"+allfiles[i]+"]时出错,删除失败!!\n");
}
}
}else{
sb.append(Disconnect.rmDirs(rootdir+"\\"+allfiles[i], dirtodel));
}
}
}else{
//列表的目录为空
// do nothing
}
root = null;
}catch(Exception e){
e.printStackTrace();
}
return sb.toString();
}
/**
* 删除文件夹,物理操作
*/
private static boolean delpaysical(File filetodel) throws Exception{
boolean f = false;
String[] fl = filetodel.list();
for(int i=0;i<fl.length;i++){
File fcur = new File(filetodel.getAbsolutePath()+"\\"+fl[i]);
if(fcur.isDirectory()){
Disconnect.delpaysical(fcur);
fcur.delete();
}else{
fcur.delete();
}
}
f = filetodel.delete();
return f;
}
}
分享到:
相关推荐
1、一个删除某个文件夹下所有指定的文件或文件夹,包括子文件夹下的内容的工具。 2、可以一次删除多个指定的文件或文件夹名称,用“,”号隔开。 3、主要用途:如有时下载或拷的代码中包含.SVN文件夹,而手动去删除....
删除文件夹,递归删除目录下的所有文件及子目录下所有文件,函数名:getFile 作用:使用递归,输出指定文件夹内的所有文件 参数:path:文件夹路径 前置空格缩进,显示文件层次结构,通过文件名称获取导入文件到temp...
5.删除一个文件下夹所有的文件夹 6.清空文件夹 7.读取文件 8.写入文件 9.写入随机文件 10.读取文件属性 11.写入属性 12.枚举一个文件夹中的所有文件夹 13.复制文件夹 14.复制一个文件夹下所有的文件夹到另一个...
用于删除工程共包含svn信息的文件夹 或者用户指定名称的文件夹
1.实现创建文件夹、删除文件夹;创建文件、删除文件 2.实现文本文件的写入 ...6.输入文件夹路径,展示当前文件夹下所有文件夹子或文件名称、修改日期、文 件大小的信息 7.在主函数中实现以上函数的操作
书名:《Java开发实战1200例(第I卷)》(清华大学出版社.李钟尉,陈丹丹) PDF格式扫描版,全书分为24章,共817页。2011年1月出版。 全书压缩打包成4部分,这是第3部分 注:本系列图书的第I、II卷再版时均相应改名为...
删除方法, 这里只会删除某个文件夹下的文件,如果传入的directory是个文件,将不做处理 递归取得文件夹大小 将File写入到指定路径下 检查文件是否存在(有时间戳) 获取Sdcard指定目录下缓存文件 获取文件名称 把...
相信每一个Java开发人员,都曾经用过诸如Jad之类的反编译器,对Java的class 文件进行反编译,从而观察程序的结构与实现细节。如此一来,对于那些需要严格进行知识产权保护的Java应用,如何有效的保护客户的商业投资...
1. 改变或删除XML的根节点名称; 2. 对XML更改后使其不符合XML的规范,比如:某个节点没有被闭合。 程序都还能保证对XML的更改使其满足XSD中规定的元素和属性。 也可以试试其他的XML文件,关于产生XML对应的XSD...
本POJO代码生成器采用Java的Swing技术编码实现,是绿色免费工具,可以自由传播。 由于本工具的内部实现较烂,所以还请反编译高手手下留情,让我留几分颜面。^_^ 由于本人只用过Oracle、DB2、MySQL、MS SQL Server这...
在指定的文件夹中的所需算法中添加算法(根据您的要求创建新文件夹)。 如下所示在contributors.md中添加您的姓名和github个人资料链接 - [ Bhrigu Kansra ](https://github.com/kinetickansra) 发送请求请求我将看...
下例将物理设备名映射为使用 ARC 设备名称的驱动器号: map arc 注意 如果不使用 arc 参数,则 map 命令显示设备名称。 map 命令还显示文件系统的类型和每个磁盘的大小(MB)。 二。★★★常见文件扩展名...
使用带有 SQL 数据库 (MySql) 的 JPA API (EclispeLink) 实现的基本示例 ### 如何将此项目导入 NetBeans? 下载项目 (Button Download Zip) 解压并删除文件夹名称中的主后缀 将文件夹粘贴到您的工作区中 打开您的 ...
public boolean removeFromIP(String ip) 根据第3列及判断ip是否相同删除某行。 public String getIpAddress(int n) 获取某行所表示的ip地址。 内部类 private class MyDropTargetAdapter extends ...
Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等功能。在本文中,主要让读者熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作。 一. 安装与配置 下载地址:...
在通过名称搜索文件的情况下,您还必须能够指定其扩展名作为名称的一部分。 浏览建立的初始路径以及从该路径创建的所有文件夹。 因此,用户将无法查看或导航到“根”文件夹的父文件夹。 将文件上传到目录 请参阅...
通常 这个操作接受一个参数,该参数被定义为id,名称被指定为sender.(当需要传参数的时候就通过sender来传递,当不需要传参数的时候sender可以不写的); 15.@property (retain , nonatomic) UILable textArea; ...