2011-12-20 60 views
1

我想将文件从一个文件夹移动到其他文件夹。我正在使用File#renameTo()方法,但文件未被重命名。我没有得到什么问题。无法使用File#renameTo()方法重命名文件

我正在使用Netbeans 7.0.1和Apache Tomcat。

+0

该例外的重要部分缺失,它在中间的某个地方开始 – oers 2011-12-20 15:15:41

+0

我同意oers,您发布的堆栈跟踪不显示异常的原因....但我敢打赌,您有权限问题.... – Renato 2011-12-20 15:58:06

回答

2

我假设你正在尝试在Web应用程序中移动文件。

切记:在容器中运行的servlet在读/写文件的位置方面受到限制 - 这是一个可配置的安全措施。

您有几种选择:

1)使用像码头一个简单的servlet容器(在码头的安全默认值限制较少)。

2)更新卡特琳娜的政策文件:Setting catalina.policy to allow file access by servlets

3)更加注意在您试图移动文件。 servlet API具有“getResource ...”钩子,它引用你到servlet“home”环境。

您也可以将此作为预防措施:我发现,当我在servlet中的文件级别移动事物时,通常是由于不需要的快捷方式(仔细查看现有的Java EE API ,你确定你已经没有提供所有这些文件I/O的功能吗?)...

+0

我想使用jsp文件移动文件。我没有使用servlet。我是学生先生。你可以建议一些简单的 – adesh 2011-12-20 17:06:56

+0

我无法加载完整的堆栈跟踪,因为我第一次使用这个网站,当我尝试上传时,它给出了一些缩进错误 – adesh 2011-12-20 17:17:00

+0

我可以建议的最简单的事情是在码头运行你的应用程序你的观点,jetty和tomcat一样:http://www.enavigo.com/2008/08/29/deploying-a-web-application-to-jetty/)。这可能会解决它,因为默认权限更放松。 – jayunit100 2011-12-21 04:54:36

1

无论你想重命名的文件,将这些文件保存在你的应用程序中,然后许可问题将不会出现。如果您不在应用程序之外,有机会获得许可问题。

相关问题