精华内容
下载资源
问答
  • 下面小编就为大家分享一篇对python 各种删除文件失败的处理方式。具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • Java中file.delete()删除文件失败

    千次阅读 2018-12-05 15:24:45
    删除文件的方法: /** * 删除通过ftp上传到服务器H盘的文件 * @param fileName 要删除文件的文件名 * @return 删除成功返回true,否则返回false */ private boolean deleteTempPathFile(String fileName) { ...

    删除文件的方法:

        /**
         * 删除通过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);
                else
                    return 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;
            }
        }
    
    展开全文
  • php@unlink删除文件失败原因

    千次阅读 2018-12-17 13:19:44
    最近做我网站的更换头像功能时,涉及到了PHP的文件上传。 我采用的方案是用户先上传到服务器,服务器再...删除失败的原因是图片仍然被进程占用,所以想要成功执行@unlink操作,我们最好手动释放下文件对象,避免因...

    最近做我网站的更换头像功能时,涉及到了PHP的文件上传。
    我采用的方案是用户先上传到服务器,服务器再上传到阿里云的OSS,中间会有一个把图片临时存储到服务器的过程。于是在使用php的@unlink(删除指定文件)方法时发现了删除失败的问题。
    开始以为是我的路径名写错了,后来确认这个参数没有错。删除失败的原因是图片仍然被进程占用,所以想要成功执行@unlink操作,我们最好手动释放下文件对象,避免因为被其他线程或进程占用而导致删除失败,代码片段如下:

    // [API接口-用户更新头像]
    public function setAvatar()
    {
    	// 获取表单上传文件
    	$file = $this->request->file('avatar');
    	
    	if ($file) {
    		// 移动到框架应用根目录/public/uploads/ 目录下
    		$info = $file->rule('date')->move(ROOT_PATH . 'public' . DS . 'uploads');
    		
    		if ($info) {//文件上传到服务器成功->接下来上传到OSS
            	$filePath = ROOT_PATH . 'public' . DS . 'uploads/' . $info->getSaveName();
            	
            	$oss = new Oss();
            	$result = $oss->putObject($filePath); 
                      
    			if ($result) { //上传到OSS成功                              
    				unset($info);//解除图片的进程占用
    				@unlink($filePath);
    				return success(['avatar' => $result['fileSrc']], '头像更新成功');
    			}
            }
    	}
    }
    

    不得不说,自学是困难重重的,原因不在于外,在于内。这一次为了追寻所想,斩断了退路,辞掉了安稳的工作,希望不要让这些牺牲,毫无价值可言。

    展开全文
  • java删除文件失败

    2017-12-21 17:44:16
    一般来说 java file.delete失败 有以下几个原因 1.看看是否被别的进程引用,手工删除试试(删除不...这个方法我用来获取文件的大小,用到了流类,但是用完了没有关闭,导致无法删除文件: public String getfilesize(St
    一般来说 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";
     }
    
    
    
    
    展开全文
  • 今天上午在写bug的时候需要实现以个临时文件的管理,但是在文件使用完毕需要删除的时候,无论我怎样执行,发现最后都删除不了那个临时文件。 对了,我是这样写的 /** * 大概意思就是说把一个txt文档里面的文字...

            今天上午在写bug的时候需要实现以个临时文件的管理,但是在文件使用完毕需要删除的时候,无论我怎样执行,发现最后都删除不了那个临时文件。

    对了,我是这样写的

    /**
     * 大概意思就是说把一个txt文档里面的文字拿出来,然后把那个txt文档删除掉。各位,我这样写没得问题嘛
     */
    try {
          InputStream inputStream = new FileInputStream(tempFile);
          StringWriter writer = new StringWriter();
          IOUtils.copy(inputStream, writer, charset);
          txt = writer.toString();
    } catch (IOException e) {
          e.printStackTrace();
    }
    //删除临时文件
    if (tempFile.exists()){
          boolean deleteResult = tempFile.delete();
    }

    然而deleteResult每次都是false,没删掉。当时我就想怕是学了个假java,逻辑上毫无破绽啊。难道是....

    在文件删除之前文件流没有关闭导致的?那我加一句这个试试

    /**
     * 大概意思就是说把一个txt文档里面的文字拿出来,然后把那个txt文档删除掉。各位,我这样写没得问题嘛
     */
    try {
          InputStream inputStream = new FileInputStream(tempFile);
          StringWriter writer = new StringWriter();
          IOUtils.copy(inputStream, writer, charset);
          //在使用完成之后把文件流关闭
          inputStream.close();
          txt = writer.toString();
    } catch (IOException e) {
          e.printStackTrace();
    }
    //删除临时文件
    if (tempFile.exists()){
          boolean deleteResult = tempFile.delete();
    }

    没错,好了。

    所以,各位,用完了记得给别人关上,养成好习惯。

    原文链接(我的小站):https://www.wallsay.com/article/A20180724150504015

    展开全文
  • java中使用file.delete()删除文件失败

    千次阅读 2019-03-21 18:43:59
    今天写bug的时候,要删除一个文件总是删不掉,然而deleteResult每次都是false, 后来我发现是因为没有关流导致的,把流关闭就好了。 把//outputStream.close(); // 关闭流(之前没有关)注释打开就ok了。 String ...
  • 一般来说 java file.delete()失败 有以下几个原因 1.看看是否被别的进程引用,手工删除试试(删除不了就是被别的进程占用) 2.file是文件夹 并且不为空,有别的文件夹或文件, 3.极有可能有可能自己前面没有关闭此文件...
  • 通常来说:java file.delete()方法删除文件失败的原因有以下几个: 1、极有可能是文件的流没有关闭(我遇到的就是没有关闭文件的输入流); 2、被别的进程引用,可以手工删除试试(如果删除不了就证明被别的进程...
  • QT QFile删除文件失败

    万次阅读 2016-09-13 14:22:05
    我发现我遇到删除不成功的情况是该文件正在被其他模块或者其他进程使用,导致删除失败的。所以,在遇到删除不成功的时候,检查一下,打开的文件是否未关闭,或者正在被使用。#include #include #include QString ...
  • 看看是否被别的进程引用,手工删除试试(删除不了就是被别的进程占用)2.file是文件夹 并且不为空,有别的文件夹或文件, 3.极有可能有可能自己前面没有关闭此文件的流(我遇到的情况) 这个方法我用来获取文件的大小...
  • 删除maven仓库中的失败文件删除maven仓库中的失败文件删除maven仓库中的失败文件删除maven仓库中的失败文件删除maven仓库中的失败文件删除maven仓库中的失败文件删除maven仓库中的失败文件
  • 在ubuntu服务器上开了jupyter notebook服务,远程访问的时候,我想要删除某个文件,然后报错: [W 08:22:21.629 NotebookApp] delete /A+B/未命名.ipynb [E 08:22:21.630 NotebookApp] Uncaught exception DELETE /...
  • python 各种删除文件失败的处理方式

    千次阅读 2017-09-07 11:20:15
    调用python提供的各种删除文件的操作均失败 返回值5,拒绝访问,但是多次确认文件没有被打开,文件是从一个zip包中解压出来后,没有任何打开读写等操作 最后调用windows的强制删除命令才搞定 try: #shutil....
  • 权限都加了,为什么删除老是失败? File file = new File(Settings.PIC_PATH); Log.e("tag", Settings.PIC_PATH); if (file.exists()) { boolean f = file.delete(); if(f){ toast("清理...
  • java 删除文件 失败 原因

    千次阅读 2014-04-18 10:23:04
    java中File的delete()方法删除文件失败的原因 一般来说 java file.delete失败 有以下几个原因  1.看看是否被别的进程引用,手工删除试试(删除不了就是被别的进程占用) 2.file是文件夹 并且不为空,有别的...
  • 问题描述: 在Android Q上使用MediaStore创建了一个音频文件test1.mp3保存到sdcard/Music/flycat...最后删除:context.getContentResolver.delete(uri1,null,null),此时删除成功。 假设我同上步骤创建了test1.mp...
  • 这个批处理文件能够批量删除maven下载失败文件,下载后需要以文本方式打开更改里面的仓库路径才能使用
  • JAVA递归删除目录失败

    2014-07-29 14:52:30
    so easy,写了一个递归删除目录,但结果出乎意料,一个递归目录删除成功,而另外一个却删除失败,刚开始怀疑文件被占用问题,后来被排除了。后来尝试使用各种工具,文件粉碎机都不能解决。最后,通过重命名解决此...
  • svn---删除文件失败

    千次阅读 热门讨论 2017-05-28 19:57:21
    最近在整理svn的文件目录,遇到一些文件删除不掉    其原因是在画EA设计图时涉及到签入签出,但对文件签入之后还是删除不掉。  找到另一个解决方法:  在svn代码仓库文件夹下,找到目录下的db文件夹...
  • Vmware提示以独占方式锁定此配置文件失败。另一个正在运行的VMware进程可能正在使用配置文件以及虚拟机黑屏 解决办法:看了很多说删除.lck文件的,还有说删除.vmdk文件的,.vmdk文件在删除的时候提示无法删除,.lck...
  • 删除文件失败,提示源文件名长度大于系统支持的长度。请尝试将其移动到具有较短路径名称的位置,或者在执行此操作前尝试将其重命名为较短的名称。 处理方式: 最简单有效的方案,是使用压缩软件的方式将其删除。...
  • {不建议使用}关闭流(未及时关闭会内存溢出)问题--- 文件删除失败 (后来发现是被进程占用)发现问题--第一次测试10个文件上传成功8个,第二次测试还有10个文件解决思路:1.查看代码 file.delete();删除失败 2.查看...
  • 使用ADB push 文件到手机里面时,由于传输过程中断或者文件名出现中文等种种原因,导致传输失败,但是手机中的临时文件仍然残留在sdcard中,无法删除; 解决过程:(不想看的直接可以跳过) 使用adb删除时,如果是...
  • rm -rf 删除文件失败

    千次阅读 2016-11-23 16:05:23
    每个文件5M,写满400个文件之后删除。重复此操作 1) 单纯写TF卡的读写操作,写2次TF卡正常 2) 写了2次之后重启设备,再继续写,写到第444的时候出错,test_ucsrunlog_44.log文件不能进行读写,test_ucsrunlog_45...
  • 删除maven本地仓库中的失败文件, 修改文件中仓库路径即可。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 623,298
精华内容 249,319
关键字:

删除文件失败