Java 删除文件及文件夹删除不了的解决
目录
- Java 删除文件及文件夹删除不了
- 问题所在
- java文件删除不了的坑,特别是压缩文件
- 下面列举一些情况
Java 删除文件及文件夹删除不了
问题所在
今天在编写一个项目,流程是先创建一个临时文件夹存放生成的文件,再经过压缩导出,待导出成功后删除临时文件夹,但是怎么也删除不了,还以为是写的删除方法有问题,找来找去,试了很多方法也删除不了
本来以为是打包的流没关闭,但是发现流都是关闭的,后来发现,是在生成的方法里,直接new FileWriter出来的,没有关闭,在这里提醒一下,关于操作文件或者文件夹一定都会用到流,所以用到的流一定要检查一遍是否用完关闭了。
java文件删除不了的坑,特别是压缩文件
我们在用java删除文件的时候通常直接调用file.delete();方法就行了,但是很多情况下却删除不了,
下面列举一些情况
- 1.是文件夹且不为空,这个没什么好说的,可以先删除文件夹里的文件再删除这个文件夹;
- 2.被别的进程占用,这不仅java不能删,就算windows手动删也删不了;
- 3.跟这个文件的流没有关闭,这个是最常见的原因了
然而我遇到的是上传一个文件,然后跟这个文件有关的流也关闭了,还是删除不了,后来发现有人把这个文件偷偷的转换成zip压缩文件了。
然后删除这个bookFile死活删除不了,如果出现这种情况,这个zipFile最后一定要close;
java.util.zip.ZipFile.close()方法关闭ZIP文件。 关闭此ZIP文件将关闭以前由调用getInputStream()方法返回的所有输入流。这个方法连流都给我们关闭了!就不用我们手动关闭zip文件的流了,最后在调用file.delete()方法就可以删除文件了
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
java实现文本文件删除空行的示例分享
java删除文本文件空行 复制代码 代码如下: import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileWriter;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamRead
-
java压缩文件与删除文件的示例代码
压缩文件 :toZip(String srcDir, OutputStream out,boolean KeepDirStructure) 删除文件:deleteFolder(File folder) /** * 压缩成ZIP 方法1 * * @param srcDir * 压缩文件夹路径 * @param out * 压缩文件输出流 * @param KeepDirStructure * 是否保留原来的目录结构,true:保留目录结构; * false:所有文件跑到压缩包根目录下(注意:不保留
-
java 删除文件夹中的所有内容而不删除文件夹本身的实例
实例如下: package com.xx; import java.io.File; public class Test { public static void main(String[] args) { String fileRoot = "C:/Users/xx/Desktop/xx/xxx"; delFolder(fileRoot); System.out.println("deleted"); } // // 删除完文件后删除文件夹 // // param
-
java文件上传(单文件 多文件)与删除
话不多说,请看代码 /** * 文件上传--单文件 * * @param request * @param response * @param path * 文件存放路径(path为WebApp\后面的内容) * @return */ public final static String fileUpload(HttpServletRequest request, HttpServletResponse response, String path) { MultipartHttpServletR
-
java删除文件和文件夹具体实现
1,验证传入路径是否为正确的路径名(Windows系统,其他系统未使用)Java代码 复制代码 代码如下: // 验证字符串是否为正确路径名的正则表达式 private static String matches = "[A-Za-z]:\\\\[^:?\"><*]*"; // 通过 sPath.matches(matches) 方法的返回值判断是否正确 // sPath 为路径字符串 2,通用的文件夹或文件删除方法,直接调用此方法,即可实现删除文件夹或文件
-
Java 删除文件及文件夹删除不了的解决
目录 Java 删除文件及文件夹删除不了 问题所在 java文件删除不了的坑,特别是压缩文件 下面列举一些情况 Java 删除文件及文件夹删除不了 问题所在 今天在编写一个项目,流程是先创建一个临时文件夹存放生成的文件,再经过压缩导出,待导出成功后删除临时文件夹,但是怎么也删除不了,还以为是写的删除方法有问题,找来找去,试了很多方法也删除不了 本来以为是打包的流没关闭,但是发现流都是关闭的,后来发现,是在生成的方法里,直接new FileWriter出来的,没有关闭,在这里提醒一下,关于操作文件
-
java io文件操作删除文件或文件夹的7种方法
目录 本文是Java IO总结系列篇的第4篇,前篇的访问地址如下: 总结java中创建并写文件的5种方式-JAVA IO基础总结第一篇总结java从文件中读取数据的6种方法-JAVA IO基础总结第二篇总结java创建文件夹的4种方法及其优缺点-JAVA IO基础总结第三篇 如果您阅读完成,觉得此文对您有帮助,请给我点个赞,您的支持是我不竭的创作动力. 为了方便大家理解,我特意制作了本文对应的视频:总结删除文件或者文件夹的7种方法 一.删除文件或文件夹的四种基础方法 下面的四个方法都可以删除文件
-
java io文件操作删除文件或文件夹的7种方法
目录 一.删除文件或文件夹的四种基础方法 二.如何删除整个目录或者目录中的部分文件 前提准备 2.1. walkFileTree与FileVisitor 2.2.Files.walk 2.3.传统IO-递归遍历删除文件夹 本文是Java IO总结系列篇的第4篇,前篇的访问地址如下: 总结java中创建并写文件的5种方式-JAVA IO基础总结第一篇 总结java从文件中读取数据的6种方法-JAVA IO基础总结第二篇 总结java创建文件夹的4种方法及其优缺点-JAVA IO基础总结第三篇 为了
-
Java实现文件及文件夹的删除
本文实例为大家分享了Java实现文件及文件夹的删除,供大家参考,具体内容如下 1.删除单个文件 public static boolean deleteFile(String fileName) { File file = new File(fileName); // 如果文件路径只有单个文件 if (file.exists() && file.isFile()) { if (file.delete()) {
-
Android递归方式删除某文件夹下的所有文件(.mp3文件等等)
1.由于需要删除文件,因此需要如下权限: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> 2.核心代码 复制代码 代码如下: package com.example.deleteyoumi; import java.io.File; import android.os.Bundle; import android.os.Han
-
shell脚本实现定时删除文件或文件夹
一.删除XX天(默认10天)之前某个目录下面带.log的日志文件,并且输出文件显示删除的文件 #!/bin/sh #如果没有输入变量值,默认天数为10 start=$(date +%y-%m-%d-%H%M%m) File=/temp/delete_$start.txt FilePath=/data echo $File if [ ! -n "$1" ]; then day=10 else day=$1 fi #-mtime 10 表示文件修改时间距离当前为0天的文件
-
Asp.Net 文件操作基类(读取,删除,批量拷贝,删除,写入,获取文件夹大小,文件属性,遍历目录)
复制代码 代码如下: using System; using System.IO; using System.Text; using System.Data; using System.Web.UI; using System.Web.UI.WebControls; namespace ec { /// <summary> /// 文件操作类 /// </summary> public class FileObj : IDisposable { private bool _alre
-
Python实现删除当前目录下除当前脚本以外的文件和文件夹实例
本文实例讲述了Python实现删除当前目录下除当前脚本以外的文件和文件夹.分享给大家供大家参考.具体如下: import os,sys import shutil cur_file = os.path.basename(sys.argv[0]) dir_content = [x for x in os.listdir(".") if x != cur_file] for f in dir_content: if os.path.isdir(f): shutil.rmtree(f) el
-
用VBS脚本删除指定以外的文件或文件夹
Option Explicit ''''''''''''''说明'''''''''''' '网盟-黑火制作,送给需要的朋友. '配置文件"Listfile.ini"的格式如下: '要删除什么(文件|目录)=要执行删除的文件夹=排除1;排除2;排除3............ '配置文件可以有多行,以便对多个目录进行操作. '配置文件里以"/"开头的行为注释行. '排除多个内容时,使用分号";"进行分隔. '↓↓↓ 配置文件例子:↓↓↓ '/配置文件
随机推荐
- Angular2 组件通信的实例代码
- Angular在一个页面中使用两个ng-app的方法(二)
- java 多线程饥饿现象的问题解决方法
- 由document.body和document.documentElement想到的
- jquery中选择块并改变属性值的方法
- Java设计模式编程中的工厂方法模式和抽象工厂模式
- 基于PHP实现商品成交时发送短信功能
- 约瑟夫环问题的PHP实现 使用PHP数组内部指针操作函数
- Python中捕捉详细异常信息的代码示例
- C# interface与delegate效能比较的深入解析
- 设置Linux系统的空闲等待时间TMOUT的方法
- nginx配置gzip压缩页面
- 简单讲解Python编程中namedtuple类的用法
- jQuery往textarea中光标所在位置插入文本的方法
- 详解MVC如何使用开源分页插件(shenniu.pager.js)
- 论Bootstrap3和Foundation5网格系统的异同
- as3+xml+asp+access做的有奖问答
- Android中巧妙的实现缓存详解
- 用libTemplate实现静态网页的生成
- java web response提供文件下载功能的实例讲解