删除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
---------------------------------

posted @ 2013-05-30 21:10  xinyuyuanm  阅读(679)  评论(0编辑  收藏  举报