删除文件的方法:

    /*** 删除通过ftp上传到服务器H盘的文件* @param fileName 要删除的文件的文件名* @return 删除成功返回true,否则返回false*/private boolean deleteTempPathFile(String fileName) {File file = new File(fileName);// 如果文件路径所对应的文件存在,并且是一个文件,则直接删除if (file.exists() && file.isFile()) {if (file.delete()) {log.info("删除" + fileName + "成功!");return true;} else {log.info("删除" + fileName + "失败!");return false;}} else {log.info("删除:" + fileName + "不存在!");return false;}}

然后把方法放到项目中,运行项目发现总是删除失败,然后我单独的用Main()方法测试,删除毫无障碍啊。

 public static void main(String[] args) throws Exception {       deleteFile("D:/Tool/workspace/MtnoWeb_SDWK/WebContent//temp_path/868551034812720_3059ba1bd9861dcdae9d4ccf222e3fd8.mp4");}

然后仔细检查了一下代码,发现是流没有关闭导致的删除失败,所以当delete删除失败时,需要仔细的检查一下自己的文件流是否已经关闭了。下面是finally中的方法

finally {try{if(null != inStream){inStream.close();}if(null != androidFile){androidFile.close();}deleteTempPathFile(sourcePath);//删除临时文件} catch (IOException e) {e.printStackTrace();log.info(StringUtil.getExceptionTrace(e));}}

文件复制:

log.info("复制MP4文件  开始:");androidFile = new FileOutputStream(androidPath);//inStream = new FileInputStream(des); //读入转码后的文件inStream = new FileInputStream(sourcePath);int byteread = 0;int bytesum = 0;byte[] buffer = new byte[1024];while ( (byteread = inStream.read(buffer)) != -1) {bytesum += byteread; //字节数 文件大小if(null != androidFile)androidFile.write(buffer, 0, byteread);}log.info("复制MP4文件  结束:");

删除文件和目录:

/*** 删除文件,可以是文件或文件夹** @param fileName*            要删除的文件名* @return 删除成功返回true,否则返回false*/public static boolean delete(String fileName) {File file = new File(fileName);if (!file.exists()) {System.out.println("删除文件失败:" + fileName + "不存在!");return false;} else {if (file.isFile())return deleteFile(fileName);elsereturn deleteDirectory(fileName);}}

删除目录及目录下的文件:

  public static boolean deleteDirectory(String dir) {// 如果dir不以文件分隔符结尾,自动添加文件分隔符if (!dir.endsWith(File.separator))dir = dir + File.separator;File dirFile = new File(dir);// 如果dir对应的文件不存在,或者不是一个目录,则退出if ((!dirFile.exists()) || (!dirFile.isDirectory())) {System.out.println("删除目录失败:" + dir + "不存在!");return false;}boolean flag = true;// 删除文件夹中的所有文件包括子目录File[] files = dirFile.listFiles();for (int i = 0; i < files.length; i++) {// 删除子文件if (files[i].isFile()) {flag = DeleteFileUtil.deleteFile(files[i].getAbsolutePath());if (!flag)break;}// 删除子目录else if (files[i].isDirectory()) {flag = DeleteFileUtil.deleteDirectory(files[i].getAbsolutePath());if (!flag)break;}}if (!flag) {System.out.println("删除目录失败!");return false;}// 删除当前目录if (dirFile.delete()) {System.out.println("删除目录" + dir + "成功!");return true;} else {return false;}}

Java中file.delete()删除文件失败相关推荐

  1. Java中File使用--创建文件

    1.错误示范1,输出的是创建文件夹 D:\filepath\test\test.txt. public class FileTest {public static void main(String[] ...

  2. java 中io的删除文件_总结删除文件或文件夹的7种方法-JAVA IO基础总结第4篇

    本文是Java IO总结系列篇的第4篇,前篇的访问地址如下: 如果您阅读完成,觉得此文对您有帮助,请给我点个赞,您的支持是我不竭的创作动力. 为了方便大家理解,我特意制作了本文对应的视频:总结删除文件 ...

  3. java中递归删除_浅谈Java中使用递归方法删除文件

    要在Java中平台无关的方式下安全地删除一个非空目录,你还需要一个算法.该算法首先删除文件,然后再从目录树的底部由下至上地删除其中所有的目录. 只要简单地在目录中循环查找文件,再调用delete就可以 ...

  4. C#使用FIle.delete删除文件/文件夹提示对路径的访问被拒绝——解决方案

    平台:Win10+VS2015 在写一个根据指定的文件夹名或文件后缀删除所给目录下文件夹的小程序 ,运行时提示"对xxx路径的访问被拒绝",导致删除失败. 解决方案如下:若删除的是 ...

  5. Java中File文件操作类的详细使用介绍

    文章目录 File类的使用 File的介绍 File常用API 判断文件类型-获取文件信息 创建文件-删除文件功能 遍历文件夹 File类的使用 File的介绍 File的概述: File类在包jav ...

  6. java 删除文件失败_java 文件删除失败(被进程占用)

    解决方案:系统进行资源强制回收//System.gc();{不建议使用} 关闭流(未及时关闭会内存溢出) 问题--- 文件删除失败 (后来发现是被进程占用) 发现问题--第一次测试10个文件上传成功8 ...

  7. 内存映射文件 写入 卡住_在Java中使用内存映射文件时检测(写入)失败

    内存映射文件 写入 卡住 内存映射文件是一个很好的并且经常被忽视的工具. 我不会在这里详细介绍它们的工作方式(使用 力 Google Luke!),但我将快速总结其优势: 操作系统提供的延迟加载和写入 ...

  8. 在Java中使用内存映射文件时检测(写入)失败

    内存映射文件是一个很好的并且经常被忽视的工具. 我不会在这里详细介绍它们的工作方式(使用 力 Google Luke!),但我将快速总结其优势: 操作系统提供的延迟加载和写入缓存(您不必自己编写,并且 ...

  9. 一文读懂Java中File类、字节流、字符流、转换流

    一文读懂Java中File类.字节流.字符流.转换流 第一章 递归:File类: 1.1:概述 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作. ...

最新文章

  1. Cube Or 北方大学生训练赛
  2. html2image乱码问题,HtmlImageGenerator字体乱码问题解决、html2image放linux上乱码问题解决...
  3. MySql 创建utf-8格式的数据库
  4. 《Ext JS权威指南》——1.2节JSON概述
  5. 里面的自带的字典在哪里_自带话放的声卡“秘密”
  6. [转]jQuery为控件添加水印文字
  7. Proxy.newProxyInstance处引起 java.lang.ClassCastException 问题的解决方法
  8. SpringMVC项目搭建及遇到的问题
  9. Pytorch——Conv2d、conv2d
  10. JSP页面中用绝对路径显示图片
  11. python机器学习之回归预测:电池续航里程问题
  12. Win10 内置 OpenSSH 使用密钥连不上的问题解决
  13. r语言计算 java gUI_Windows64位系统用R软件运行rjava程序计算MIC值,以及一些问题...
  14. 在java中jkd中文意思_Java JDK是什么意思?有什么作用?
  15. c++入门,cout,cin
  16. 译——项目管理铁三角(The Iron Triangle of project management)
  17. Navicat Premium 16 for Mac 最新版
  18. 黑莓9000和9900哪个好_黑莓9900评测
  19. 配电室环境监控系统,实现电力设备监控的无人化
  20. python数据库mysql_python数据库-MySQL与python的交互(52)

热门文章

  1. SSD固态硬盘 4K对齐
  2. 绥芬河java_那段岁月
  3. 点成分享| 低温冷冻保存的技术研究(一)
  4. 微博舆情热点挖掘项目——A+项目
  5. 鸿蒙不用百度网盘,百度网盘限速有救了!官方新出2种方法,不用开会员
  6. cubuide RS485问题排查
  7. Android安全机制(二)
  8. R语言绘图patchwork拼图详解快速实现组合图拼接
  9. Character code tableGB2312
  10. PAROT: Translating natural language to SPARQL(PAROT:将自然语言翻译成SPARQL)--10