当前位置: 代码迷 >> Java Web开发 >> 说说小弟我遇到的一个奇怪有关问题:自己生成的文件夹离奇消失
  详细解决方案

说说小弟我遇到的一个奇怪有关问题:自己生成的文件夹离奇消失

热度:25   发布时间:2016-04-13 22:41:09.0
说说我遇到的一个奇怪问题:自己生成的文件夹离奇消失
一个简单项目时候,里面有用java的IO代码简单生成文件夹和文件功能。但是离奇的是,第二天我重启tomcat服务器之后,前一天生成的文件夹和文件,不知道什么时候都没有了!!!我是百思不得其解。

我把生成文件夹和文件的代码奉上,请大侠帮我排查一下,到底是哪里出问题了,谢谢!!

String tempDir = request.getSession().getServletContext().getRealPath("/upload/temp/");  
File tempDirFile = new File(tempDir);
if (!tempDirFile.exists()) { tempDirFile.mkdirs(); }
然后进行一些操作,往这个文件夹 /upload/temp/ 里面写文件。

第二天再重启tomcat服务器, /upload/temp/  不知道什么时候没有了!!!整个项目并未有别的删除文件夹的操作,难道是tomcat的一些设置问题??

求助!!!! 谢谢!!!!
------解决思路----------------------
TOMCAT有两种部署方式,一种是将你工作空间下的项目拷贝到TOMCAT下,然后部署,一种是你配置XML直接指向工作空间下的项目路径,直接就地部署 而不拷贝。一般绝大多数都是用的第一种,所以说猜测楼主生成的文件只是生成在TOMCAT拷贝后的项目里的,这样下次重新部署肯定会被覆盖喽。建议指定一个绝对路径去存文件
------解决思路----------------------
楼主你是不是把东西存服务器上了的?存服务器上只是零时的,建议修改路径,存在自己本地上
------解决思路----------------------
你是存在tomcat的缓存下,你应该存在项目的物理路径去
------解决思路----------------------
引用:
Quote: 引用:

TOMCAT有两种部署方式,一种是将你工作空间下的项目拷贝到TOMCAT下,然后部署,一种是你配置XML直接指向工作空间下的项目路径,直接就地部署 而不拷贝。一般绝大多数都是用的第一种,所以说猜测楼主生成的文件只是生成在TOMCAT拷贝后的项目里的,这样下次重新部署肯定会被覆盖喽。建议指定一个绝对路径去存文件


我的部署方式是:在myeclipse里面开发项目,比如项目名是myProject,然后用myeclipse里面的部署工具将 项目 部署到tomcat下的webapps文件夹里,这样修改的东西可以随时测试。然后输入locahost:8080/myProject测试 。启动tomcat的时候,我也是用myeclipse自带启动按钮启动的。我发生的问题就是在本机测试时候发生的。

你这种方式不就是第一种吗。tomcat拷贝一份至webapp下 然后部署的。。。这种你getServletContext().getRealPath这样都是得到的tomcat webapp下的那个项目的路径而已,所以你每次重启新建的文件夹都会消失
------解决思路----------------------
项目重新部署,会只把项目中的文件给布置过去,tomcat目录中生成的,并不会保存
  相关解决方案