为什么我不能重命名我的文件目录?

时间:2014-09-29 22:42:21

标签: java directory rename filewriter

我有一个名为" 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();
                }

1 个答案:

答案 0 :(得分:0)

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

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