java - 如何重命名文件Java.nio?

标签 java nio file-rename

有一个存储“client_storage/”,我需要重命名其中的文件。

使用TextInputDialog重命名。

TextInputDialog 工作正常。

但是我在 Files.move() 方法中遇到了 Exception

这是我的代码:

    public void renameFile(ActionEvent actionEvent) {
    TextInputDialog dialog = new TextInputDialog("Rename");
    dialog.setTitle("Rename");
    dialog.setHeaderText("Rename File");
    dialog.setContentText("New name");
    Optional<String> res = dialog.showAndWait();

    if (res.isPresent()) {
        try {
            Path paths = Paths.get("client_storage/" + ClientListView.getSelectionModel().getSelectedItems());
            Files.move(paths, paths.resolve(res.get()), StandardCopyOption.REPLACE_EXISTING);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

此行出现异常:

Files.move(paths, paths.resolve(res.get()), StandardCopyOption.REPLACE_EXISTING);

我做错了什么?

java.nio.file.NoSuchFileException: client_storage\[text file.txt];

最佳答案

像这样工作:

 public void renameFile(ActionEvent actionEvent) {
    TextInputDialog dialog = new TextInputDialog("Rename");
    dialog.setTitle("Rename");
    dialog.setHeaderText("Rename File");
    dialog.setContentText("New name");
    Optional<String> res = dialog.showAndWait();
    if (res.isPresent()) {
        try {
            Path paths = Paths.get("client_storage/" + ClientListView.getSelectionModel().getSelectedItem());
            Files.move(paths, paths.resolveSibling(res.get()));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

关于java - 如何重命名文件Java.nio?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53004799/

相关文章:

java - 使用 Model.setNsPrefix() 定义前缀后不能使用带前缀的 URI?

java - 提取的 pdf 文本未显示在控制台中

java - JAR 文件中的 walkFileThree

Java NIO - 在服务器端取消注册客户端连接

wget - 如何使用 wget 部分重命名下载的文件?

java - 如何避免加入并方便扩展

java - 如何使用socket channel 发送文件名和文件内容

c# - Windows 中的文件夹有 ID 吗?或 GUID?

linux - Bash oneliner 重命名文件名

Java OpenApi 生成器使用对象作为查询参数