在/ public_html / in Java下的Web服务器中创建一个文件夹

时间:2013-09-22 06:20:15

标签: java webserver jersey

我正在尝试使用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以简化它?

2 个答案:

答案 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,作为失败的信号。