java/android开发中删除文件

在java或者android开发中经常遇到要删除一个文件夹及其子文件的需求,本文主要总结了自己开发中遇到并且使用过的两种删除文件和文件夹的方法。

1.如果仅仅是删除一个文件可以使用以下代码,传入文件路径即可

public static void deleteFile(String path)
 {
     File file = new File(path);
       file.delete();
}

2.如果需要删除一个非空文件夹,则需要遍历整个文件夹下子文件,进行递归删除

public static void deleteFolder(String path)
{
        File file = new File(path);
        deleteFile(file);
}

public static void deleteFile(File file) {
        if (file.isFile()) {
            file.delete();
            return;
        }  

        if(file.isDirectory()){
            File[] childFiles = file.listFiles();
            if (childFiles == null || childFiles.length == 0) {
                file.delete();
                return;
            }  

            for (int i = 0; i < childFiles.length; i++) {
                deleteFile(childFiles[i]);
            }
            file.delete();
        }
    }
时间: 2024-10-04 00:12:44

java/android开发中删除文件的相关文章

android开发中R文件丢失

R文件在android开发中,占据着中会在重要的地位,里面的内容有系统自动生成,不可随意修改,然而在开发过程中,总是不可知的丢失,这里总结一下修补方法 #.在Eclipse里可以 (1).在不能确认xml文件或图片文件没有错误的情况下,最好不要clear,因为这时只要一clear,那么R文件就会没了,而在众多的xml文件里面找出错误确实不是一件容易的事. (2).如果R文件已经丢失,可以 右键项目-->Android Tools--> fix project properties, (3).检

C# WinForm 开发中删除文件异常处理心得

这几天在帮公司人力那边写一个邮件群发器,之前的开发过程都很顺利,就是在邮件发送完成之后删除项目下excel文件是出问题了,一直提示我"该文件已经被其他进程所占用,删除异常",字我记不住了,意思大概这样吧.当时我就纳闷了,文件流我也释放了并且关闭了,垃圾回收也加上了还是不能解决问题,几天在网上查了写资料,忽然发现既然文件被其他进程占用那我在写这个文件的时候先把文件流给锁上 这不就可以了嘛,果然,把流锁上立刻问题解决了.其实这也不是什么很难的问题,只不过我们有时候在处理问题的时候遗漏了一些

Java Web开发中的文件上传与下载

一.借助Struts2框架 1.环境搭建 1.1 导包:conmmons-fileupload-1.2.1.jar conmmons-io-1.4.jar 以及其他框架的jar包 2.页面:略 3.文件上传: 3.1 设计一个文件上传工具类:FileUploadUtils 1 public class FileUploadUtils{ 2 3 //文件要上传到的路径,可配置 4 @Resource 5 private String filePath; 6 7 private String cre

Android开发中的问题及相应解决(持续更新)

最近博客写的少了,以后还得经常更新才行. ------------------------------------------------------------ 1.try cath 异常不全导致的意外问题. 之所以将此问题放在第一位,是因为前阵子中项目中出现了此类情况,并且这种情况很容易不注意或遗忘,但其错误却是致命的. 在Java/Android开发中,当调用一个函数时,此函数抛出一个A类型的异常,很自然的,在调用的地方我们会try.. catch此异常,并且绝大多数情况下,捕获异常是由E

Android开发中出现cannot be resolved to a variable错误,也就是R文件不能生成。

最近开始学过习Android开发,配置完成开发环境后,在创建第一个Android项目就出现了cannot be resolved to a variable错误,也就是R文件不能生成的问题. 以下是从网上找到的解决方法 : Android开发过程中,碰到R cannot be resolved to a variable的报错信息,好像没有很确定的错误原因,一般来说,我总结出几个可能的解决方法,希望试过以后管用... 1. 检查Android 的SDK是否丢失需要重新下载,检查build pat

Android开发中java.lang.RuntimeException: Unable to start activity ComponentInfo{xxx}

Android开发中java.lang.RuntimeException: Unable to start activity ComponentInfo{xxx}: java.lang.NullPoi 错误信息字符串:java.lang.RuntimeException: Unable to start activity ComponentInfo{com.first/com.first.Game}: java.lang.NullPointerException 一般都会在Activity  o

Android开发中java.lang.RuntimeException: Unable to start activity ComponentInfo{xxx}: java.lang.NullPointerException 错误的集中原因及解决办法

上面那个问题刚解决,就又来一个问题~~~~ 错误信息字符串:java.lang.RuntimeException: Unable to start activity ComponentInfo{...}: java.lang.NullPointerException 网上有不少解决办法 一般都会在Activity  onCreate()方法里的setContentView(XXX)发生此错误,网上查阅了很多原因,大概有四种重要可能的原因: 原因一:xxx的错误,若为R.layout.main 

android开发中,在java中如何使用c提供过来char*

这个char*如果是一般的字符串的话,作为string传回去就可以了.如果是含有'\0'的buffer,最好作为bytearray传出,因为可以制定copy的length,如果copy到string,可能到'\0'就截断了. 有两种方式传递得到的数据: 一种是在jni中直接new一个byte数组,然后调用函数(*env)->SetByteArrayRegion(env, bytearray, 0, len, buffer);将buffer的值copy到bytearray中,函数直接return

Android学习探索之Java 8 在Android 开发中的应用

前言: Java 8推出已经将近2年多了,引入很多革命性变化,加入了函数式编程的特征,使基于行为的编程成为可能,同时减化了各种设计模式的实现方式,是Java有史以来最重要的更新.但是Android上,一直没有看到支持Java8的消息.Android到底会不会支持Java8呢?答案是肯定的,Android N已经开始支持Java 8 了. 关于Java 8 (1.)使用Lambda表达式 Java 8的一大亮点是引入Lambda表达式,使用它设计的代码会更加简洁.当开发者在编写Lambda表达式时