Creating a folder within web server under /public_html/ in Java

五迷三道 提交于 2019-12-10 10:24:00

问题


I am trying to create a folder within web server using Java File handling APIs in my RESTFul web service developed using JERSEY. According to my understanding, when I target "xyz.com" , it by default points out /home/xyz/public_html/ in my server.

So when I try to create a folder as follows

        String appFolderPath = "/xyz.com/appFolder/";
    File userNameFolder = new File(appFolderPath + userName);
    if (!userNameFolder.exists()) {
        folderPath = userNameFolder.mkdir();
    }

The above code fails, I am not getting any exception, and no folder is created. How exactly I suppose to do it ? How to give path for public_html/ folder ?

Another point is, is it not happening because of permission issue ? , I actually tried another way , I manually created /appFolder under public_html/ and give full read write permission to that folder, but still I couldn't create any folder within that using above code.

Please let me know how to achieve it ? Any Sample code ? Also if possible let me know if JERSEY does give me APIs to make it simple ?


回答1:


To point to public web directory use

ServletContext context = request.getServletContext();
String path = context.getRealPath("/");

and append your path to the path (above resolved)




回答2:


According to my understanding, when I target "xyz.com" , it by default points out /home/xyz/public_html/ in my server.

What makes you think so? You're operating files in the code snippet given, so your path means /xyz.com/appFolder/ and nothing more. And it's very likely you're facing a permission issue trying to create folders like this.

As for absense of exception, that's a design feature of Java file API not to throw exceptions on certain failures, but rather return erroneous error codes. Check what is returned by mkdir() call and you'll find false there, as a signal of failure.



来源:https://stackoverflow.com/questions/18940987/creating-a-folder-within-web-server-under-public-html-in-java

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!