java中文件删除错误的是什么,关于java中文件删除失败的原因分析

博主在开发文档管理系统时遇到文件删除失败的问题,即使在Windows中尝试以管理员权限删除也无效。原来,问题出在Java代码中,一个未关闭的FileInputStream导致文件被占用,从而无法删除。博主提醒程序员应重视警告信息,因为它们可能导致严重的bug。解决方案是确保在使用完文件输入流后及时关闭,以避免文件被占用。
摘要由CSDN通过智能技术生成

最近在做一个文档管理系统,结果在删除文件的时候,一直提示我文件删除失败,当然啦,是我在jsp里面写的一个alert("文件删除失败!"),然后我就纳闷儿了,为什么删不掉呢?后来打开windows,找到相应的文件,用管理员权限去删除也删不掉!然后就给我报错,java TM...正在使用这个文件,我顿时就凌乱了,因为我使用的是MyEcplise,所以我又回去检查代码,后来终于找到元凶了,是一个警告导致的错误!警告啊!下面我贴上代码:

/**

* 获取单个文件的大小

* @param file 当前文件

* @return long 文件大小

*/

public long getFileSize(File file){

long size=0;

try{

if(file.exists())

{

FileInputStream input=new FileInputStream(file);

size=input.available();

input.close();//这个地方尤其关键,一定要关闭,否则文件删除不掉的!

}else

{

file.createNewFile();

}

}catch(Exception ex)

{

ex.printStackTrace();

}

return size;

}

就是上面的那个input未关掉啊!!!于是造成了文件被占用的问题!唉,以后些什么都要小心,警告也是大问题!所以奉劝各位程序员也要将警告作为错误来处理!不然都不知道自己是怎么出bug的!

原文:http://blog.csdn.net/u011763190/article/details/38438105

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值