首页 > 代码库 > 关于java中文件删除失败的原因分析

关于java中文件删除失败的原因分析

最近在做一个文档管理系统,结果在删除文件的时候,一直提示我文件删除失败,当然啦,是我在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的!