删除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:    [email protected]

 *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
---------------------------------

你可能感兴趣的:(android)