加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – File.renameTo()没有任何效果

发布时间:2020-12-15 08:48:25 所属栏目:Java 来源:网络整理
导读:我希望能够重命名文件夹列表以删除不需要的字符(例如,点和双空格必须成为单个空格). 单击Gui中的按钮后,您将看到一个消息框,其中显示格式正确的名称,表示格式化正确并且调用了该函数. 当我查看我创建的测试文件夹时,名称不会更改(甚至在刷新后也不会更改).使
我希望能够重命名文件夹列表以删除不需要的字符(例如,点和双空格必须成为单个空格).

单击Gui中的按钮后,您将看到一个消息框,其中显示格式正确的名称,表示格式化正确并且调用了该函数.
当我查看我创建的测试文件夹时,名称不会更改(甚至在刷新后也不会更改).使用硬编码字符串也不起作用.

我在俯瞰什么?

public void cleanFormat() {
    for (int i = 0; i < directories.size(); i++) {
        File currentDirectory = directories.get(i);
        for (File currentFile : currentDirectory.listFiles()) {
            String formattedName = "";
            formattedName = currentFile.getName().replace("."," ");
            formattedName = formattedName.replace("  "," ");
            currentFile.renameTo(new File(formattedName));
            JOptionPane.showMessageDialog(null,formattedName);
        }
    }
}

解决方法

对于未来的浏览器:这是通过Assylias的评论修复的.您将在下面找到修复它的最终代码.

public void cleanFormat() {
    for (int i = 0; i < directories.size(); i++) {
        File currentDirectory = directories.get(i);
        for (File currentFile : currentDirectory.listFiles()) {
            String formattedName = "";
            formattedName = currentFile.getName().replace("."," ");
            Path source = currentFile.toPath();
            try {
                Files.move(source,source.resolveSibling(formattedName));
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读