我想将文件从一个文件夹移动到另一个文件夹。我使用File#renameTo()
方法,但文件未重命名。我没有得到出错的地方。
我正在使用Netbeans 7.0.1和Apache Tomcat。
答案 0 :(得分:2)
我假设您正在尝试在Web应用程序中移动文件。
请记住:在容器中运行的servlet在读取/写入文件的位置方面受到限制 - 这是一种可配置的安全措施。
您有几种选择:
1)使用更简单的servlet容器,如Jetty(Jetty中的安全性默认值限制较少)。
2)更新catalina政策文件:Setting catalina.policy to allow file access by servlets
3)在尝试将文件移动到的位置时要更加小心。 servlet API有“getResource ...”钩子,它引用你到servlet“home”环境。
您也可以将此作为预防措施:我发现当我在servlet中的文件级别移动时,通常是由于没有必要的快捷方式(请仔细查看现有的Java EE API,你确定你已经提供了所有这些文件I / O的功能......?)...
答案 1 :(得分:1)
无论您要重命名的文件是什么,请将这些文件保留在您的应用程序中,然后才会出现权限问题。如果您不在应用程序之外,则可能会出现权限问题。