zoukankan      html  css  js  c++  java
  • 删除androidAndroid递归方式删除某文件夹下的所有文件

    上班之余抽点时间出来写写博文,希望对新接触的朋友有帮助。今天在这里和大家一起学习一下删除android

        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.Handler;
    import android.os.Message;
    import android.app.Activity;
    import android.view.Menu;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.Toast;
    /*
     *@author: ZhengHaibo  
     *web:     http://blog.csdn.net/nuptboyzhb
     *mail:    zhb931706659@126.com
     *2013-4-28  Nanjing,njupt,China
     */
    public class DeleteYouMiMainActivity extends Activity implements
    		OnClickListener {
    	private Button deleteButton;
    	private final static String youmiPathString = "/mnt/sdcard/Android/data/.youmicache/";//文件夹的路径
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_delete_you_mi_main);
    		deleteButton = (Button) findViewById(R.id.delete_youmi);
    		deleteButton.setOnClickListener(this);
    	}
    
    	@Override
    	public boolean onCreateOptionsMenu(Menu menu) {
    		// Inflate the menu; this adds items to the action bar if it is present.
    		getMenuInflater().inflate(R.menu.delete_you_mi_main, menu);
    		return true;
    	}
    
    	@Override
    	public void onClick(View v) {
    		// TODO Auto-generated method stub
    		switch (v.getId()) {
    		case R.id.delete_youmi:
    			File file = new File(youmiPathString);
    			DeleteFile(file);
    			mHandler.sendEmptyMessage(1);
    			break;
    		default:
    			break;
    		}
    	}
    	Handler mHandler = new Handler() {
    		public void handleMessage(Message msg) {
    			switch (msg.what) {
    			case 0:
    				Toast.makeText(getApplicationContext(), "文件或文件夹不存在", Toast.LENGTH_LONG).show();
    				break;
    			case 1:
    				Toast.makeText(getApplicationContext(), "删除成功!", Toast.LENGTH_LONG).show();
    				break;
    			default:
    				break;
    			}
    		};
    	};
    	/**
    	 * 递归删除文件和文件夹
    	 * 
    	 * @param file
    	 *            要删除的根目录
    	 */
    	public void DeleteFile(File file) {
    		if (file.exists() == false) {
    			mHandler.sendEmptyMessage(0);
    			return;
    		} else {
    			if (file.isFile()) {
    				file.delete();
    				return;
    			}
    			if (file.isDirectory()) {
    				File[] childFile = file.listFiles();
    				if (childFile == null || childFile.length == 0) {
    					file.delete();
    					return;
    				}
    				for (File f : childFile) {
    					DeleteFile(f);
    				}
    				file.delete();
    			}
    		}
    	}
    }

        3.拓展
    本博客是以删除为例。当然,对于遍历某文件夹下的全部文件均可用这个方法。如搜索.mp3文件等。

    文章结束给大家分享下程序员的一些笑话语录: 现在社会太数字化了,所以最好是有一个集很多功能于一身的设备!

    --------------------------------- 原创文章 By
    删除和android
    ---------------------------------

  • 相关阅读:
    读后感四
    读后感五
    公文流转系统
    统计文件中单词的频率,给出前N的单词
    读入一个文件输出每个字母的频率
    小工到专家
    从小工到专家读后感
    动手动脑 类与对象
    海芋
    棕竹
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3109213.html
Copyright © 2011-2022 走看看