如何从存储中删除文件

0 android delete-file

我有一个内容菜单,当你在几秒钟内按下项目时,它会弹出一个重命名和删除菜单.但我不知道如何获得一个文件的正确目录.这是我的代码:

@Override
public boolean onContextItemSelected(MenuItem item) {
    AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
    switch(item.getItemId()) {
        case R.id.rename:
            // edit stuff here
            return true;
        case R.id.delete:

            File dir = new File(Environment.getExternalStorageDirectory()+"/Music/MusicPlayer");
            if (dir.isDirectory())
            {
                String[] children = dir.list();
                for (int i = 0; i < children.length; i++)
                {
                    new File(dir, children[i]).delete();
                }
            }

            // remove stuff here
            return true;
        default:
            return super.onContextItemSelected(item);
    }
}
Run Code Online (Sandbox Code Playgroud)

Dha*_*tel 6

使用下面的util函数删除文件或目录.

public static boolean delete(File path) {
    boolean result = true;
    if (path.exists()) {
        if (path.isDirectory()) {
            for (File child : path.listFiles()) {
                result &= delete(child);
            }
            result &= path.delete(); // Delete empty directory.
        } else if (path.isFile()) {
            result &= path.delete();
        }
        return result;
    } else {
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

用法:

File dir = new File(Environment.getExternalStorageDirectory()+"/Music/MusicPlayer");
delete(dir);          
Run Code Online (Sandbox Code Playgroud)