手机
当前位置:查字典教程网 >编程开发 >安卓软件开发 >Android递归方式删除某文件夹下的所有文件(.mp3文件等等)
Android递归方式删除某文件夹下的所有文件(.mp3文件等等)
摘要:1.由于需要删除文件,因此需要如下权限:2.核心代码复制代码代码如下:packagecom.example.deleteyoumi;impo...

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文件等。

【Android递归方式删除某文件夹下的所有文件(.mp3文件等等)】相关文章:

Android中使用PULL方式解析XML文件深入介绍

Android中使用pull解析器操作xml文件的解决办法

Android 工程内嵌资源文件的两种方法

android生命周期深入分析(一)

Android双击退出Activity的类代码

Android里实现退出主程序的提示代码

Android中使用sax解析xml文件的方法

android横竖屏切换时候Activity的生命周期

android控件封装 自己封装的dialog控件

Android利用方向传感器获得手机的相对角度实例说明

精品推荐
分类导航