java 定时删除文件夹内所有文件
删除文件夹下的所有文件需要用到java.io.File类的各个方法,并需要使用简单的递归算法。
示例代码如下:
import java.io.File;
public class Test
{
public static void main(String args[]){
Test t = new Test();
delFolder("c:/bb");
System.out.println("deleted");
}
//删除文件夹
//param folderPath 文件夹完整绝对路径
public static void delFolder(String folderPath) {
try {
delAllFile(folderPath); //删除完里面所有内容
String filePath = folderPath;
filePath = filePath.toString();
java.io.File myFilePath = new java.io.File(filePath);
myFilePath.delete(); //删除空文件夹
} catch (Exception e) {
e.printStackTrace();
}
}
//删除指定文件夹下所有文件
//param path 文件夹完整绝对路径
public static boolean delAllFile(String path) {
boolean flag = false;
File file = new File(path);
if (!file.exists()) {
return flag;
}
if (!file.isDirectory()) {
return flag;
}
String[] tempList = file.list();
File temp = null;
for (int i = 0; i < tempList.length; i++) {
if (path.endsWith(File.separator)) {
temp = new File(path + tempList[i]);
} else {
temp = new File(path + File.separator + tempList[i]);
}
if (temp.isFile()) {
temp.delete();
}
if (temp.isDirectory()) {
delAllFile(path + "/" + tempList[i]);//先删除文件夹里面的文件
delFolder(path + "/" + tempList[i]);//再删除空文件夹
flag = true;
}
}
return flag;
}
}
public class Demo1 {public static void main(String[] args) { delAllFiles(new File("e:/test"));}public static void delAllFiles(File dir) {if (dir.isDirectory()) {for (File f : dir.listFiles()) {if (!f.isDirectory())f.delete();elsedelAllFiles(f);}}dir.delete();}}
比如:File dir=new File("D:/dir/");
File[] lst=dir.listFiles();
for (File f:lst){
if (new Date().getTime()-f.lastModified()>24*60*60*1000){
f.delete();
}
}
从网上搜下会有很多的,
你可以参考
http://zhidao.baidu.com/link?url=wMBoRTjL2GSIaKNqLsWbHohOR4P0Wi737jVKI_YcfY2MPmzZS82I1-SpjrUrdTuCmeAq5_iQwt__FtN3H-f_7_
public class Test2 {
/**
* @param args
*/
public static void main(String[] args) {
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
Date now = new Date();
System.out.println("开始时间:"+sf.format(now));
File dir=new File("D:/test");
File[] lst=dir.listFiles();
System.out.println("文件夹内文件个数:"+lst.length);
for (File f:lst){
System.out.println("文件名称:"+f.getName());
delteFile(f);
}
Date now2 = new Date();
System.out.println("结束时间:"+sf.format(now2));
}
public static void delteFile(File file){
File []filearray= file.listFiles();
if(filearray!=null){
for(File f:filearray){
if(f.isDirectory()){
delteFile(f);
}else{
f.delete();
}
}
file.delete();
}
}
}
段干剂津乐: 比如: File dir=new File("D:/dir/"); File[] lst=dir.listFiles(); for (File f:lst){ if (new Date().getTime()-f.lastModified()>24*60*60*1000){ f.delete(); } }
达坂城区14794498415: Java:删除某文件夹下的所有文件该如何实现呢? - ?
段干剂津乐: 删除文件夹下的所有文件需要用到java.io.File类的各个方法,并需要使用简单的递归算法. 示例代码如下: import java.io.File; public class Test {public static void main(String args[]){Test t = new Test();delFolder("c:/bb");System.out.println("...
达坂城区14794498415: java文件这块,怎么能把一个文件夹下的所有内容都删除? - ?
段干剂津乐: 获取到文件夹的File对象.然后File.listFiles()就是这个文件夹下面的所有子文件..然后调用delete方法就可以删除.但有一点,delete方法只能在文件夹为空的情况下,才能有效,因此,需要使用递归:如下所示 public void delete(File f) { if (!f.exists()) { return ;//文件不存在,返回 } File[] ff = f.listFiles(); for(File __f : ff) { if(__f.isDirectory()) { delete(__f) } __f.delete(); } } 大致这样的就行了....具体就没测试了,你自己再试试吧
达坂城区14794498415: JAVA线程定时删除某文件 - ?
段干剂津乐: 要用break; 而且放在del();的后面.这样才能删除后中止线程中的循环.if(s1.equals("16:24")) //设定删除文件的时间{System.out.println("时间到,执行删除");del();break;}continue;}}
达坂城区14794498415: java怎样删除1个文件夹里面所有的文本?
段干剂津乐: public class DeleteFolder { /** * 删除文件夹下的所有文件 * @param oldPath */ public void deleteFile(File oldPath) { if (oldPath.isDirectory()) { System.out.println(oldPath + "是文件夹--"); File[] files = oldPath.listFiles(); for (File file : files) { ...
达坂城区14794498415: 在Java环境中,创建一个可以删除一文件夹下所有文件的功能,打包之后删除文件的功能有问题. - ?
段干剂津乐: if(suffix.equals("class")){ file.delete(); } 这个地方有两个问题1.判断语句 suffix.equals("class") 如果是*.class 文件没有问题 如果不是的话会报空指针异常 应该为suffix!=null && suffix.equals("class")2. file.delete(); file 是目录e:/files 而且不是空目录 返回false 应该是 new File("e:/files/"+s).delete()才能删除*.class文件
达坂城区14794498415: 怎样用java语言实现对文件夹里内容的删除 修改这两个功能 - ?
段干剂津乐: 简单的可以把java代码写在jsp文件中,不过这个后期修改起来麻烦也可以用serlvet的方式
达坂城区14794498415: java中如何递归删除文件和文件夹 - ?
段干剂津乐: 删除文件夹下的所有文件需要用到java.io.File类的各个方法,并需要使用简单的递归算法
达坂城区14794498415: 用java编写一个程序,实现删除指定文件夹目录下的所有文件,用到File 里 - ?
段干剂津乐: public class Demo1 { public static void main(String[] args) { delAllFiles(new File("e:/test")); } public static void delAllFiles(File dir) { if (dir.isDirectory()) { for (File f : dir.listFiles()) { if (!f.isDirectory()) f.delete(); else delAllFiles(f); } }dir.delete(); } }
达坂城区14794498415: JAVA怎样删除文件及子文件 - ?
段干剂津乐: 删除文件夹包括以下几种情况:文件夹里的文件,文件夹里面的子文件夹(有文件),文件夹里面的子文件夹(空文件夹).所以程序要针对这三种情况写.import java.io.File; public class Test { public static void main(String args[]) { Test t = new ...