【问题标题】:Why can I not rename the directory of my file?为什么我不能重命名我的文件目录?
【发布时间】:2014-11-24 10:42:35
【问题描述】:

如果更新了全名,我有一个名为“fullName”的目录,我也想更新目录名。如何重命名目录?到目前为止,这是我的代码:

try
                {
                    System.out.print("Enter new first name: ");
                    firstName = sc.nextLine();

                    File fileLN = new File(fullName + "\\lastName.txt");

                    FileReader fr = new FileReader(fileLN);
                    BufferedReader br = new BufferedReader(fr);
                    lastName = br.readLine();

                    // set new full name
                    newFullName = firstName + lastName;
                    System.out.println(newFullName);    // debug

                    File file = new File(fullName);
                    File newFile = new File(newFullName);
                    if(file.isDirectory())
                    {
                        file.renameTo(newFile);
                        System.out.println("worked");    //debug
                    }
                    else
                    {
                        System.out.println("Directory not found");
                    }
                }
                catch(IOException e)
                {
                    e.printStackTrace();
                }

【问题讨论】:

  • 错误是它没有重命名目录。假设全名是“John Doe”,那么我将有一个名为“JohnDoe”的目录,如果我要将名字更改为“Joe”,我希望我的目录名称更新为“JoeDoe”

标签: java directory rename filewriter


【解决方案1】:

这可能是因为您尝试重命名的目录中仍有一个打开的文件。如果您在基于 Windows 的平台上,尝试重命名时会出错。解决方法是在重命名前关闭fr

lastName = br.readLine();
fr.close();

【讨论】:

  • 它仍然没有重命名我的目录
  • 好的,好吧,也许您在没有显示给我们的目录中还有另一个文件处于打开状态。
  • 我已经检查过了,它似乎已经修复了我的代码,非常感谢!
猜你喜欢
  • 2016-07-24
  • 1970-01-01
  • 2016-08-24
  • 2014-06-15
  • 2013-08-05
  • 2011-09-30
  • 1970-01-01
  • 2020-01-14
  • 2013-07-05
相关资源
最近更新 更多