我正在尝试使用JERSEY开发的RESTFul Web服务中的Java文件处理API在Web服务器中创建一个文件夹。 根据我的理解,当我定位“xyz.com”时,它默认指出我的服务器中的/ home / xyz / public_html /。
所以当我尝试按如下方式创建文件夹时
String appFolderPath = "/xyz.com/appFolder/";
File userNameFolder = new File(appFolderPath + userName);
if (!userNameFolder.exists()) {
folderPath = userNameFolder.mkdir();
}
上面的代码失败了,我没有得到任何异常,也没有创建文件夹。 我究竟该怎么做呢?如何为public_html /文件夹提供路径?
另一点是,是否由于许可问题而发生? ,我实际上尝试了另一种方法,我在public_html /下手动创建/ appFolder并给该文件夹提供完全读写权限,但仍然无法使用上面的代码在其中创建任何文件夹。
请告诉我如何实现它?任何示例代码? 如果可能的话,让我知道JERSEY是否给我API以简化它?
答案 0 :(得分:3)
指向公共网站目录
ServletContext context = request.getServletContext();
String path = context.getRealPath("/");
并将您的路径追加到path
(已解决之上)
答案 1 :(得分:0)
根据我的理解,当我定位“xyz.com”时,它默认指出我的服务器中的/ home / xyz / public_html /。
是什么让你这么认为?您在给定的代码段中操作文件,因此您的路径意味着/xyz.com/appFolder/
,仅此而已。并且您很可能在尝试创建此类文件夹时遇到权限问题。
至于缺少异常,这是Java文件API的设计特性,不会在某些失败时抛出异常,而是返回错误的错误代码。检查mkdir()
电话返回的内容,您会在那里找到false
,作为失败的信号。