首页 > 解决方案 > renameTo 返回 true 但会创建新文件夹 android

问题描述

我正在尝试重命名画廊文件夹,这是我使用的方法:

public static void createImageFolder(String newName, String oldName) {
        File oldFolder = new File(Environment
                .getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + "/".concat(oldName));
        File wallpaperDirectory;
        if (!oldFolder.exists()) {
            wallpaperDirectory = new File(Environment
                    .getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + "/".concat(newName));
            wallpaperDirectory.mkdirs();
        } else {
            if (!newName.equals(oldName)) {
                wallpaperDirectory = new File(Environment
                        .getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + "/".concat(newName));
                boolean x = oldFolder.renameTo(wallpaperDirectory);
                System.out.println(x);
            }
        }
    }

当我调试我的代码时,我发现x值等于 true,这意味着它按预期成功重命名。

但是,当我去画廊文件夹时,我发现它没有重命名,新图像被添加到新文件夹中,旧文件夹保持原样。

所以有人可以帮我吗?

编辑 1:我试图把它包起来,Handler但也没有用。

标签: javaandroidfilefile-rename

解决方案


推荐阅读