Android 遍历删除SD卡中某一文件夹下的指定子文件夹及其子文件

/**
	 * 遍历删除SD卡中某一文件夹下的指定子文件夹及其子文件
	 */
	
	private String filePath = Environment.getExternalStorageDirectory()
			.getAbsolutePath()+"/ttpod"; //SD卡中“天天动听”文件夹目录
	private String[] fileName = new String[] { "song", "art", 
			"lyric"}; //删除ttpod文件夹下的三个文件夹及其子文件
	
	private void deleteAllFiles(String filePath,String[] fileName){
		File f=new File(filePath);
		if(f.exists()){
			for(int i=0;i<fileName.length;i++){
				File file=new File(filePath+"/"+fileName[i]);
				clear(file);
			}
			Toast.makeText(this, "删除成功", Toast.LENGTH_SHORT).show();
		}else{
			Toast.makeText(this, "文件不存在",Toast.LENGTH_SHORT).show();
		}
	}
	
	/** 若将整个ttpod文件夹删除,则只需调用这个方法 */
	private void clear(File file) {
		if (file.exists()) { //指定文件是否存在
			if (file.isFile()) { //该路径名表示的文件是否是一个标准文件
				file.delete(); //删除该文件
			} else if (file.isDirectory()) { //该路径名表示的文件是否是一个目录(文件夹)
				File[] files = file.listFiles(); //列出当前文件夹下的所有文件
				for (File f : files) {
					clear(f); //递归删除
					//Log.d("fileName", f.getName()); //打印文件名
				}
			}
			file.delete(); //删除文件夹(song,art,lyric)
		} 
	}

你可能感兴趣的:(android,遍历删除文件)