如何重命名文件,Java.nio?
How to rename file, Java.nio?
有一个存储"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];
ClientListView.getSelectionModel().getSelectedItems()
returns 一个列表,因此错误消息中有括号。
我猜是这样的
Path paths = Paths.get("client_storage/" + ClientListView.getSelectionModel().getSelectedItems());
Path paths1 = Paths.get("client_storage/" + newName);
Files.move(paths, paths1, StandardCopyOption.REPLACE_EXISTING);
像这样工作:
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();
}
}
}
有一个存储"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];
ClientListView.getSelectionModel().getSelectedItems()
returns 一个列表,因此错误消息中有括号。
我猜是这样的
Path paths = Paths.get("client_storage/" + ClientListView.getSelectionModel().getSelectedItems());
Path paths1 = Paths.get("client_storage/" + newName);
Files.move(paths, paths1, StandardCopyOption.REPLACE_EXISTING);
像这样工作:
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();
}
}
}