java如何确保java file.delete失败()把文件完全删除

温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
import java.io.F &/**&&* 删除文件和目录&&* &&* @author&* &&*/ &public class DeleteFileUtil { &&&&/**&& * 删除文件,可以是文件或文件夹&& * && * @param fileName&& * & & & & & &要删除的文件名&& * @return 删除成功返回true,否则返回false&& */ &&public static boolean delete(String fileName) { && File file = new File(fileName); && if (!file.exists()) { && &System.out.println("删除文件失败:" + fileName + "不存在!"); && & && } else { && &if (file.isFile()) && & return deleteFile(fileName); && &else && & return deleteDirectory(fileName); && } &&} &&&&/**&& * 删除单个文件&& * && * @param fileName&& * & & & & & &要删除的文件的文件名&& * @return 单个文件删除成功返回true,否则返回false&& */ &&public static boolean deleteFile(String fileName) { && File file = new File(fileName); && // 如果文件路径所对应的文件存在,并且是一个文件,则直接删除 && if (file.exists() && file.isFile()) { && &if (file.delete()) { && & System.out.println("删除单个文件" + fileName + "成功!"); && & && &} else { && & System.out.println("删除单个文件" + fileName + "失败!"); && &&& & && &} && } else { && &System.out.println("删除单个文件失败:" + fileName + "不存在!"); && & && } &&} &&&&/**&& * 删除目录及目录下的文件&& * && * @param dir&& * & & & & & &要删除的目录的文件路径&& * @return 目录删除成功返回true,否则返回false&& */ &&public static boolean deleteDirectory(String dir) { && // 如果dir不以文件分隔符结尾,自动添加文件分隔符 && if (!dir.endsWith(File.separator)) && &dir = dir + File. && File dirFile = new File(dir); && // 如果dir对应的文件不存在,或者不是一个目录,则退出 && if ((!dirFile.exists()) || (!dirFile.isDirectory())) { && &System.out.println("删除目录失败:" + dir + "不存在!"); && & && } && boolean flag = && // 删除文件夹中的所有文件包括子目录 && File[] files = dirFile.listFiles(); && for (int i = 0; i & files. i++) { && &// 删除子文件 && &if (files[i].isFile()) { && & flag = DeleteFileUtil.deleteFile(files[i].getAbsolutePath()); && & if (!flag) && & & && &} && &// 删除子目录 && &else if (files[i].isDirectory()) { && & flag = DeleteFileUtil.deleteDirectory(files[i] && & & .getAbsolutePath()); && & if (!flag) && & & && &} && } && if (!flag) { && &System.out.println("删除目录失败!"); && & && } && // 删除当前目录 && if (dirFile.delete()) { && &System.out.println("删除目录" + dir + "成功!"); && & && } else { && & && } &&} &&&// public static void main(String[] args) { &//// &// 删除单个文件 &//// &String file = "d:/test/test.txt"; &//// &DeleteFileUtil.deleteFile(file); &// &//System.out.println(); &// &// 删除一个目录 & &D:\apex_upload\APP_REPOSITORIES\apex\demo\form// &String dir = "d:/test/zzz"; &// &DeleteFileUtil.deleteDirectory(dir); &// &System.out.println(); &//// &// 删除文件 &//// &dir = "c:/test/test0"; &//// &DeleteFileUtil.delete(dir); &// &// } &&&} &
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'java文件file删除文件',
blogAbstract:'package textFimport java.io.F &/**&&* 删除文件和目录&&* &&* @author&* &&*/ &public class DeleteFileUtil { &&&&/**&& * 删除文件,可以是文件或文件夹&& * && * @param fileName&& * & & & & & &要删除的文件名&& * @return 删除成功返回true,否则返回false&& */ &&public static boolean delete(String fileName) { && File file = new File(fileName); &',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:0,
publishTime:7,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'0',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}java file类delete()方法无法删除文件_百度知道
java file类delete()方法无法删除文件
delete?&+b);
/&#47代码如下 System.out.println(&exists?&quot.println(&返回true 文件存在
boolean b=fileTxt[ j ].delete();
System.false 文件删除失败不是每次都删不掉,有时可以删除;+fileTxt[ j ].exists())
这是什么情况?最后一个bug了,就是不能删除,我手动删除时提示txt文件可以新建、编辑,大神帮忙啊:操作无法完成,因为文件已经在Java(TM) Platform SE binary打开
我有更好的答案
这个时候删除也不会成功参考Java API的java.io,但是没有判断是否是文件夹、文件夹里是否还有文件因为文件夹里有文件时,你在删除的文件。如果此路径名表示一个目录,则此目录必须为空才能删除:deletepublic boolean delete()删除此抽象路径名表示的文件或目录,执行delete()是不成功的此外.File类,有可能正被其他人或程序打开通过fileTxt[ j ] ,看你是循环删除,你判断了文件是否存在
txt文件可以新建、编辑,就是不能删除,我手动删除时提示:操作无法完成,因为文件已经在Java(TM) Platform SE binary打开。这是什么情况,最后一个bug了,大神帮忙啊。
你操作的文件的流Strame没有关闭检查你的代码,InputStrame、OutputStrame有没有关闭不然通过File.delete方法删除文件会失败 很久没上百度了,回答不及时,不好意思
采纳率:72%
来自团队:
,在删除文件出现问题时.file.Files.delete(path),SecurityException可以更方便的定位无法删除文件的原因。而java.io,可能会抛出NoSuchFileException,DirectoryNotEmptyE方法不提供这些功能java.nio,IOException.File.delete().file.Path path = java、文件软链、硬链等。后来Java提供了nio包,完善了一些io包的不足,提供了更多功能的本地.file.Paths.get(fileTxt[j]);java.niojava.nio。例如非阻塞IO,例如:非阻塞IO。可以尝试调用java、网络I&#47.file.Files.delete(Path).io包是Java最开始对文件操作的实现类,里面有很多方法实现的并不完善.O操作
需要从外界导入包吗?系统报错,找不到方法
你用的JDK什么版本?
txt文件可以新建、编辑,就是不能删除,我手动删除时提示:操作无法完成,因为文件已经在Java(TM) Platform SE binary打开。这是什么情况,最后一个bug了,大神帮忙啊。
打开任务管理器,选到性能选项卡,下面有个资源模拟器点开,点开后选到CPU选项卡,下面有个输入框的地方输入你的文件完整路径点检索删不掉的时候可以看看有哪些地方在使用你这个文件
explorer.exe 2996 File F:\myBox\cdy\notebook\·explorer.exe 2996 File F:\myBox\cdy\notebook\·javaw.exe 6004 File F:\myBox\cdy\notebook\我的心情\·javaw.exe 6004 File F:\myBox\cdy\notebook\我的心情\·
该文件被其他程序打开没有关闭
有的时候是被占用了,删除不了
貌似还要加一个初始值吧
其他3条回答
为您推荐:
其他类似问题
delete的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。博客分类:
一般来说 java file.delete失败 有以下几个原因 1.看看是否被别的进程引用,手工删除试试(删除不了就是被别的进程占用)2.file是文件夹 并且不为空,有别的文件夹或文件, 3.极有可能有可能自己前面没有关闭此文件的流(我遇到的情况)
这个方法我用来获取文件的大小,用到了流类,但是用完了没有关闭,导致无法删除文件:
public String getfilesize(String path,String filename) throws IOException {
String pathString=path+"\\"+filename;
f=new File(pathString);
FileInputStream fis=new FileInputStream(f);
String time=String.valueOf(((double)fis.available() / 1024));
fis.close();//当时这里没有关闭
return time.substring(0, time.indexOf(".")+2)+"K";
浏览 21633
浏览: 91785 次
来自: 上海
为什么会出现类型转换的错
引用[u][/u][ ...
怎么是excel,晕了
很好,学习了
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'2710人阅读
InputStreamReader fReader = new InputStreamReader(new FileInputStream(fileTxt), "UTF-8");
reader = new BufferedReader(fReader);
fileTxt. delete();
--------放在close()前删除不了文件;
fReader.close();
reader.close();
fileTxt. delete();
--------放在close()之后可以删除文件;java实现读取、删除文件夹下的文件
转载 & & 投稿:hebedich
本文给大家分享的是java实现读取、删除文件夹下的文件,其中File.delete()用于删除“某个文件或者空目录”!所以要删除某个目录及其中的所有文件和子目录,要进行递归删除,有需要的小伙伴可以参考下。
java实现读取、删除文件夹下的文件
package test.
import java.io.F
import java.io.FileNotFoundE
import java.io.IOE
public class ReadFile {
public ReadFile() {
* 读取某个文件夹下的所有文件
public static boolean readfile(String filepath) throws FileNotFoundException, IOException {
File file = new File(filepath);
if (!file.isDirectory()) {
System.out.println("文件");
System.out.println("path=" + file.getPath());
System.out.println("absolutepath=" + file.getAbsolutePath());
System.out.println(file.getName());
} else if (file.isDirectory()) {
String[] filelist = file.list();
for (int i = 0; i & filelist. i++) {
File readfile = new File(filepath + "\\" + filelist[i]);
if (!readfile.isDirectory()) {
System.out.println("path=" + readfile.getPath());
System.out.println("absolutepath="
+ readfile.getAbsolutePath());
System.out.println(readfile.getName());
} else if (readfile.isDirectory()) {
readfile(filepath + "\\" + filelist[i]);
} catch (FileNotFoundException e) {
System.out.println("readfile()
Exception:" + e.getMessage());
* 删除某个文件夹下的所有文件夹和文件
/*public static boolean deletefile(String delpath)
throws FileNotFoundException, IOException {
File file = new File(delpath);
if (!file.isDirectory()) {
System.out.println("1");
file.delete();
} else if (file.isDirectory()) {
System.out.println("2");
String[] filelist = file.list();
for (int i = 0; i & filelist. i++) {
File delfile = new File(delpath + "\\" + filelist[i]);
if (!delfile.isDirectory()) {
System.out.println("path=" + delfile.getPath());
System.out.println("absolutepath="
+ delfile.getAbsolutePath());
System.out.println("name=" + delfile.getName());
delfile.delete();
System.out.println("删除文件成功");
} else if (delfile.isDirectory()) {
deletefile(delpath + "\\" + filelist[i]);
file.delete();
} catch (FileNotFoundException e) {
System.out.println("deletefile()
Exception:" + e.getMessage());
public static void main(String[] args) {
readfile("C:\\Users\\SW\\Desktop\\SKJ_H25補正\\004_RCAG\\003_SKJ");
// deletefile("D:/file");
} catch (FileNotFoundException ex) {
} catch (IOException ex) {
System.out.println("ok");
import java.io.F
import java.io.FileNotFoundE
import java.io.IOE
* @ClassName: TestReadFile
* @CreateTime: Aug 1, :44 AM
* @Author: mayi
* @Description: 读取和删除文件夹下的所有文件
public class TestReadFile {
* 获取工程的WebRoot的绝对路径
String getProjectPath(){
//得到形如"/d:/${workspace}/${projectName}/WebRoot/WEB-INF/classes/"的 路径
String path=this.getClass().getResource("/").getPath();
//从路径字符串中取出工程路径
path=path.substring(1, path.indexOf("WEB-INF/classes"));
System.out.println("工程路径:"+path);
* @param args
public static void main(String[] args) {
TestReadFile trf=new TestReadFile();
String xmlPath = trf.getProjectPath()+ "testDocs";
readAllFile(xmlPath);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
* 读取指定路径文件夹下的所有文件
* @param filepath
* @throws FileNotFoundException
* @throws IOException
public static boolean readAllFile(String filepath)
throws FileNotFoundException, IOException {
File file = new File(filepath);
if (!file.isDirectory()) {
System.out.println("\n文件信息:");
System.out.println("\t相对路径=" + file.getPath());
System.out.println("\t绝对路径=" + file.getAbsolutePath());
System.out.println("\t文件全名=" + file.getName());
} else if (file.isDirectory()) {
System.out.println("\n文件夹内文件列表信息:");
File[] fileList = file.listFiles();
for (int i = 0; i & fileList. i++) {
File readfile = fileList[i];
if (!readfile.isDirectory()) {
System.out.println("\n\t相对路径=" + readfile.getPath());
System.out.println("\t绝对路径=" + readfile.getAbsolutePath());
System.out.println("\t文件全名=" + readfile.getName());
} else if (readfile.isDirectory()) {
readAllFile(fileList[i].getPath());
} catch (FileNotFoundException e) {
System.out.println("readfile()
Exception:" + e.getMessage());
* 删除某个文件夹下的所有文件夹和文件
* @param delpath
* @throws FileNotFoundException
* @throws IOException
public static boolean deleteFile(String delpath)
throws FileNotFoundException, IOException {
File file = new File(delpath);
if (!file.isDirectory()) {
System.out.println("1");
file.delete();
} else if (file.isDirectory()) {
System.out.println("2");
File[] fileList = file.listFiles();
for (int i = 0; i & fileList. i++) {
File delfile = fileList[i];
if (!delfile.isDirectory()) {
System.out.println("相对路径=" + delfile.getPath());
System.out.println("绝对路径=" + delfile.getAbsolutePath());
System.out.println("文件全名=" + delfile.getName());
delfile.delete();
System.out.println("删除文件成功");
} else if (delfile.isDirectory()) {
deleteFile(fileList[i].getPath());
file.delete();
} catch (FileNotFoundException e) {
System.out.println("deletefile()
Exception:" + e.getMessage());
以上所述就是本文的全部内容了,希望大家能够喜欢。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具

我要回帖

更多关于 java.io.file.delete 的文章

 

随机推荐