File.delete()删除文件,偶尔删除失败。有遇到过类似的情况的没有吗?快疯了 file.delete()有参数返回的可以用boolean判断下 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 file.delete会返回一个boolean值表示删除成功或失败。还有一个方法file.deletOnExit在虚拟机退出时删除 这个说法是对的还有 你要确保你的文件路径确实有那个文件比如你写成:File File = new File("123.txt"); //可能根本就没有这个文件和目录,因为相对路径经常写错 File.delete();//文件名写错了时,这里不会报错,你也删不了你希望删的文件了此外"File"作为这个变量名,也是相当愚蠢的,因为你写成File.delete() 我以为你正在调用File中的静态方法detele(); file.delete()好像不会报异常,只是会返回一个boolean值 比如你拿Office打开一个文件,然后程序再操作 试试我给你的这个呀package org.file.demo;import java.io.File;public class IODemo { public static void main(String[] args) throws Exception { File file = new File("D:" + File.separator + "testjava"); // 要创建的文件 list(file); } public static void list(File file) { // 列出目录内容 if (file.isDirectory()) { // 现在给定的路径是目录 File f[] = file.listFiles(); // 列出 if (f != null) { // 可以列出内容 for (int x = 0; x < f.length; x++) { list(f[x]); // 继续向下列出,递归 } } } file.delete(); }} 我见过这样的情况,需要更改.txt文件里面的内容,思路是删除原来的文件然后新建一个同名的文件,但文件就是不能删除。纠结了好长时间也没能解决,后来没办法只能用数据库取代了。 你说的是文件没有删除掉还是调用方法后返回false?如果是调用File.delete()方法后返回false,那么就有3种情况:1、文件不存在2、删除的文件是文件夹,且文件夹不为空。3、文件正在被其他程序使用,或文件夹已被打开。如果是不能删除文件,则只可能是2和3两种情况。解决方法:1、删除文件前判断文件是否存在。2、遍历并循环删除文件夹下的文件后再删除文件夹。3、如果是windows操作系统,安装一个名为unlocker的软件,对你要删除的文件右击并选择“Unlocker”就可以查看是什么程序打开了该文件。 补充一下:2、删除的文件是文件夹,且文件夹不为空。如果是windows平台也可以使用rd命令加/s参数对文件夹及文件夹中的文件进行删除。 这个特别是上传临时文件后又要删除的时候 ,经常遇到。建议:根据boolean来判断,如果删不掉可以启动一个线程来删除,这个线程可以设置为守护线程。实在不行就写个定时器。 我也以为File调用的静态方法~~汗了 如果file是目录并且目录不是空目录会有这样的情况 简单的sql语句,在线等! 不满足条件也提示 谁能给一个Java应用程序使用JTA的例子 关于受检查异常 考一个基本概念 菜鸟关于异常的问题 如何得到收藏夹里的内容? 请各位高手帮小弟一忙,java操作数据库问题,困扰许久了!谢谢~~ 这几天得了很多分,欢呼,散分~~~~ 求大神帮忙!!! 求大牛解释面向接口编程的概念 json的一个数据格式转换的问题
比如你写成:File File = new File("123.txt"); //可能根本就没有这个文件和目录,因为相对路径经常写错
File.delete();//文件名写错了时,这里不会报错,你也删不了你希望删的文件了此外"File"作为这个变量名,也是相当愚蠢的,因为你写成File.delete()
我以为你正在调用File中的静态方法detele();
}
}
如果是调用File.delete()方法后返回false,那么就有3种情况:
1、文件不存在
2、删除的文件是文件夹,且文件夹不为空。
3、文件正在被其他程序使用,或文件夹已被打开。
如果是不能删除文件,则只可能是2和3两种情况。解决方法:
1、删除文件前判断文件是否存在。
2、遍历并循环删除文件夹下的文件后再删除文件夹。
3、如果是windows操作系统,安装一个名为unlocker的软件,对你要删除的文件右击并选择“Unlocker”就可以查看是什么程序打开了该文件。
2、删除的文件是文件夹,且文件夹不为空。
如果是windows平台也可以使用rd命令加/s参数对文件夹及文件夹中的文件进行删除。
我也以为File调用的静态方法~~汗了