【发布时间】:2012-08-26 17:30:59
【问题描述】:
在我的应用程序中,我有一个函数,我需要在 webcontent 文件夹中写入一个文件,我有一个名为 data 的文件夹,我需要写一个新名称,如果我给出了真实路径(C:\Users\SanWin \workspace\RoleAccessControl\data\ActivityLog.txt)它写入文件但是当项目要在不同的机器上运行时这必须改变,所以我用它来获取真实路径
ServletContext ctx = getServletContext();
String path = ctx.getRealPath("/data/ActivityLog.txt");
System.out.println(path);
当我打印时,我在控制台中收到以下消息
C:\Users\SanWin\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\RoleAccessControl\data\ActivityLog.txt
我不知道系统是怎么得到这条线的
.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\
这是在日食中,我期待类似的东西 C:\Users\SanWin\workspace\RoleAccessControl\data\ActivityLog.txt
如何获得我想要摆脱线条 (.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps) 的真实路径,我查看并做了我在互联网上看到的所有可能,但是失败,对不起,如果我发了重复的帖子,请见谅 感谢您的时间和回复
【问题讨论】:
-
一般来说,您非常很少想在应用程序内部编写代码。如果你部署为战争,你不能。如果你重新部署,你可能会失去那里的一切。这是一种更简洁、更安全的方法,可以指定 Web 应用程序部署目录外部的目录,并改为在该目录中写入。
标签: java jsp servlets file-io filewriter