比如有"d:/mywork/"文件夹,里面有几个文件,如果想删除mywork文件夹及文件夹内的所有文件,怎么做呢?
解决方案 »
- 请教一个java GUI的问题,十分感谢!
- 超类的引用变量引用子类对象怎么理解
- cronExpression 表达式 每天早上3点执行
- 给toolbar加快捷键后,当toolbar隐藏,快捷键无响应
- 内部类做监听器的问题<anonymous myframe$1> is not abstract and does not override abstract method actionPerformed
- 问一个很有难度的乘法计算
- JAVA类获取值的问题
- 马上要考试,谁有关于java事件触发方面的代码?急!
- 在java中如何读取文件
- 小白求教!返回数组
- JAVA面试题解惑系列(二)——到底创建了几个String对象?
- java字符串替换指定的位置
{
public static void main(String[] args)
{
File f = new File("d:/mywork");
Test t = new Test();
t.del(f);
f.delete();
}
public void del(File f)
{
if(f.exists())
{
if(f.isDirectory())
{
del(f);
}
else
{
f.delete();
}
}
}
}
void deleteFile(String path) {
if (new File(path).isFile()) {
new File(path).delete();
} else if(new File(path).isDirectory()){
String[] list = new File(path).list();
for (String s : list) {
String directory = path + "/" + s;
if (new File(directory).isFile()) {
new File(directory).delete();
} else {
deleteFile(directory);
}
}
}
//删除目录
if(new File(path).isDirectory()) {
new File(path).delete();
}
}
public test2() {
File ff=new File("D:\\temp");
String files[]=ff.list(); for (int i=0;i<files.length;i++)
{
String nf="d:\\temp\\"+files[i];
File f2=new File(nf);
f2.delete();
} System.out.println("over");
}
public static void main(String[] args) {
test2 test21 = new test2();
}}
{
public static void main(String[] args)
{
File f = new File("d:/mywork");
Test t = new Test();
t.del(f);
}
public void del(File f)
{
if(f.exists())
{
if(f.isDirectory())
{
del(f);}
f.delete();}
}
}同意六楼的,改了一点
if(f.isDirectory())
{
del(f);}
这段代码,不是反复判断的还是f吗?岂不是死循环?
package test;
import java.io.*;
public class testdel
{
public testdel(String str) {
File f=new File(str);
del(f);
}
private void del(File file)
{
if(file.exists())
{
if(file.isFile())
{
file.delete();
}
else
{
String[] s=file.list();
if(s==null)
{file.delete();}
else{
for(int i=0;i<s.length;i++)
{
File f=new File(file.getAbsolutePath()+File.separator+s[i]);
this.del(f);
}
file.delete();
}
}
}
}
public static void main(String[] args) {
new testdel("D:\\temp");
}
}
这个程序真不能轻易用,破坏力太强。
*
* @function 删除文件和文件夹
* @param file
* @author 王仁辉
* @Create Date 2012-1-6
* @Modified By
* @Modified Date
* @why & what
*/
private void deleteFile(File file) {
if (file.exists()) {
if (file.isDirectory()) {
for (File f : file.listFiles()) {
deleteFile(f);
}
file.delete();
} else {
file.delete();
file = null;
}
}
}