如何在java file manager应用程序中重命名文件和文件夹?

如何在java file manager应用程序中重命名文件和文件夹?,java,file-manager,Java,File Manager,我正在用java创建一个文件管理器。我在尝试重命名文件和文件夹时遇到问题。我从用户输入中获取新文件名,然后尝试重命名文件 popupMenu.rename.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { list.getSelectedValue().toString(); JFrame f

我正在用java创建一个文件管理器。我在尝试重命名文件和文件夹时遇到问题。我从用户输入中获取新文件名,然后尝试重命名文件

popupMenu.rename.addActionListener(new ActionListener()
{           public void actionPerformed(ActionEvent e) {
                list.getSelectedValue().toString();
                JFrame frame = new JFrame("Rename");
                final JTextField textField=new JTextField();
                 String s = null;
                 File file2 = new File("newname");
                textField.addActionListener(new ActionListener(){
                       public void actionPerformed(ActionEvent ae){
                       s = textField.getText();
                       }
                    });
                Object o = list.getModel().getElementAt(list.getSelectedIndex());
                File file = new File(o.toString());
                //FileUtils.moveFile(file, newFile);
                  file.renameTo(file2);
                  //Files.move(file.toPath(),file.toPath().resolveSibling(textField.getText()));

                frame.add(textField);
                frame.setLocationRelativeTo(frame);
                frame.setSize(200,60);
                frame.setVisible(true);
            }
        });
请指出我犯的任何错误

另外,有没有一种方法可以通过单击文本将文件重命名为类似于windows的文件。我通过setText(fileName);,显示文件和文件夹的名称;。这是我的项目截图


问题在于这行:

file.renameTo(file2);
您没有查看返回值,因此如果它失败,您的代码就像它成功了一样

java.io.File已过时。它是Java1.0的延续,Java1.0有一些不太理想的设计决策。其中一个决定是让File类的许多方法返回一个值,就像C库一样,而不是在失败时抛出异常

将该行代码更改为:

Files.move(file.toPath(), file2.toPath());

编译器将告诉您必须捕获IOException。这是件好事。不要编写一个空的
catch
块,该异常将确切地告诉您重命名文件的尝试失败的原因。至少,catch块应该对捕获的异常调用
printStackTrace()

问题出在哪里?你可以改名字吗?你的日志里有什么东西吗?你试过了吗?是的,我试过了,但没有发现为mereos工作,先生,名字没有改变