2011-12-20 69 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

無論你想重命名的文件,將這些文件保存在你的應用程序中,然後許可問題將不會出現。如果您不在應用程序之外,有機會獲得許可問題。

相關問題