如何删除SD卡中的所有数据 [英] How to delete all data from SD Card

查看:132
本文介绍了如何删除SD卡中的所有数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

请我怎样才能删除SD卡(我的意思是格式化SD卡)编程的所有数据。
我试图用这一点,但它只是一个文件。

 文件fil​​e =新的文件(selectedFilePath);
布尔删除= file.delete();


解决方案

对于我来说,其工作的罚款。

这code可以用来删除Micro-SD卡中的所有文件。希望它应该工作。谢谢你。

 公共无效wipingSdcard(){
    文件deleteMatchingFile =新的文件(环境
            。.getExternalStorageDirectory()的toString());
    尝试{
        文件[] =文件名deleteMatchingFile.listFiles();
        如果(文件名=空&放大器;!&放大器; filenames.length大于0){
            对于(文件临时文件:文件名){
                如果(tempFile.isDirectory()){
                    wipeDirectory(tempFile.toString());
                    tempFile.delete();
                }其他{
                    tempFile.delete();
                }
            }
        }其他{
            deleteMatchingFile.delete();
        }
    }赶上(例外五){
        e.printStackTrace();
    }
}私人无效wipeDirectory(字符串名称){
    文件directoryFile =新的文件(名称);
    文件[] =文件名directoryFile.listFiles();
    如果(文件名=空&放大器;!&放大器; filenames.length大于0){
        对于(文件临时文件:文件名){
            如果(tempFile.isDirectory()){
                wipeDirectory(tempFile.toString());
                tempFile.delete();
            }其他{
                tempFile.delete();
            }
        }
    }其他{
        directoryFile.delete();
    }
}

你也需要赋予权限,如果你使用的是> 1.6 SDK

 使用许可权的android:NAME =android.permission.WRITE_EXTERNAL_STORAG​​E

的Andr​​oidManifest.xml 文件

Please how can i delete all data from SD card (i mean format SD card) programatically . I tried to use this but it's only for one file .

File file = new File(selectedFilePath);
boolean deleted = file.delete();

解决方案

Its working fine for me.

This code can be used to delete all the files from the SD-Card. Hope it should work. Thanks.

public void wipingSdcard() {
    File deleteMatchingFile = new File(Environment
            .getExternalStorageDirectory().toString());
    try {
        File[] filenames = deleteMatchingFile.listFiles();
        if (filenames != null && filenames.length > 0) {
            for (File tempFile : filenames) {
                if (tempFile.isDirectory()) {
                    wipeDirectory(tempFile.toString());
                    tempFile.delete();
                } else {
                    tempFile.delete();
                }
            }
        } else {
            deleteMatchingFile.delete();
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

private void wipeDirectory(String name) {
    File directoryFile = new File(name);
    File[] filenames = directoryFile.listFiles();
    if (filenames != null && filenames.length > 0) {
        for (File tempFile : filenames) {
            if (tempFile.isDirectory()) {
                wipeDirectory(tempFile.toString());
                tempFile.delete();
            } else {
                tempFile.delete();
            }
        }
    } else {
        directoryFile.delete();
    }
}

Also you have to give permission if you are using >1.6 SDK

uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"

in AndroidManifest.xml file

这篇关于如何删除SD卡中的所有数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆