62,621
社区成员
发帖
与我相关
我的任务
分享
package net.liuyx.java;
import java.io.File;
public class Delete {
private static int counter = 0;
private static int svnCount = 0;
/**
* @param args文件名
* 删除工程中的svn文件
*/
public static void main(String[] args) {
for (String arg : args)
handleFile(new File(arg));
System.out.println("Delete all together " + svnCount + " svn files");
}
/*
*递归遍历文件夹下的所有文件
*/
private static void handleFile(File f) {
if (f.exists()) {
File[] files = f.listFiles();
if (files != null)
for (File file : files)
if (file.getName().contains("svn")) {
deleteAllFiles(file);
++svnCount;
} else
handleFile(file);
}
}
/*
* 删除一个文件夹下的所有文件
*/
private static void deleteAllFiles(File f) {
if (f.exists()) {
File[] files = f.listFiles();
if (files != null) {
for (File file : files)
if (file.isDirectory()) {
deleteAllFiles(file);
file.delete();
System.out.println("successly delete " + (++counter)
+ ",it's name " + file.getName());
} else if (file.isFile()) {
file.delete();
System.out.println("successly delete " + (++counter)
+ ",it's name " + file.getName());
}
}
f.delete();
System.out.println("successly delete " + (++counter)
+ ",it's name " + f.getName());
}
}
}

public static void main(String[] args) {
File file = new File("testDir1");
LinkedList<File> linkedList = new LinkedList<File>();
linkedList.add(file);
int count = 0;
while(linkedList.size() > 0){
File head = linkedList.removeFirst();
if(head.isDirectory()){
for(File subFile : head.listFiles()){
linkedList.add(subFile);
}
}else{
if(head.getAbsolutePath().endsWith(".txt")){
head.delete();
count ++;
}
}
}
System.out.println("delete:" + count);
}
public static void main(String args[]) {
try {
a();
} catch (Error e) {
System.out.println(c);
}
}
static int c = 0;
private static void a(){
c ++;
a();
}
比如这段,a()只执行了c++,
我电脑上c只能达到13000,
也就是它的深度,
如果在a()里面干点其他是,比如声明个变量,打印个常量之类的
深度会立马减少很多