[英]How do I refer to the right Directory?
如果我的Java类位于:
包org.gamehost.flyingame.BookManagementServlet.ModelClass
又名:
BookManagementSoftwareServlet / org / gamehost / flyingame / BookManagementServlet / ModelClass
在该类中,如果我想从目录中返回文件,请在执行此操作后说一个html文件:
File newFile = new File(“ HTMLFile.html”);
假设上面的代码将创建一个新文件,它将在
图书管理软件Servlet
目录,或者它将在此目录中创建它:
BookManagementSoftwareServlet / org / gamehost / flyingame / BookManagementServlet / ModelClass
如果没有,我是否应该这样做呢?
C:// Workspace / BookManagementSoftwareServlet / org / gamehost / flyingame / BookManagementServlet / ModelClass
大概都不行。 除非容器已修改此行为,否则它将转到当前用户目录。 java.io.File javadoc说:
相反,相对路径名必须根据从其他路径名获取的信息来解释。 默认情况下,java.io包中的类始终针对当前用户目录解析相对路径名。 该目录由系统属性
user.dir
命名,通常是在其中调用Java虚拟机的目录。
容器通常会锁定文件创建,因此您可能会遇到安全错误。 您没有提到您的容器,但这是有关Tomcat 6和安全管理器的一些信息。
如果这些文件是临时文件并已重新生成,则可以在从2.5 servlet规范的SRV.4.7.1临时工作目录中定义的javax.servlet.context.tempdir
servlet上下文属性返回的绝对路径中创建它们。
每个Servlet上下文都需要一个临时存储目录。 Servlet容器必须为每个Servlet上下文提供一个专用的临时目录,并通过javax.servlet.context.tempdir上下文属性使其可用。 与该属性关联的对象必须是java.io.File类型。
一个无用的样式注释:我总是发现最好将包名都保留为小写,并使用驼峰式作为类名。 我发现这样做可以减少阅读代码,查看堆栈跟踪等时的混乱。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.