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

风云2015 2015-08-27 10:32:42
一个简单项目时候,里面有用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的一些设置问题??

求助!!!! 谢谢!!!!
...全文
219 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mr_yyy 2015-08-28
  • 打赏
  • 举报
回复
引用 3 楼 u010449283 的回复:
[quote=引用 1 楼 Mr_yyy 的回复:] TOMCAT有两种部署方式,一种是将你工作空间下的项目拷贝到TOMCAT下,然后部署,一种是你配置XML直接指向工作空间下的项目路径,直接就地部署 而不拷贝。一般绝大多数都是用的第一种,所以说猜测楼主生成的文件只是生成在TOMCAT拷贝后的项目里的,这样下次重新部署肯定会被覆盖喽。建议指定一个绝对路径去存文件
我的部署方式是:在myeclipse里面开发项目,比如项目名是myProject,然后用myeclipse里面的部署工具将 项目 部署到tomcat下的webapps文件夹里,这样修改的东西可以随时测试。然后输入locahost:8080/myProject测试 。启动tomcat的时候,我也是用myeclipse自带启动按钮启动的。我发生的问题就是在本机测试时候发生的。[/quote] 你这种方式不就是第一种吗。tomcat拷贝一份至webapp下 然后部署的。。。这种你getServletContext().getRealPath这样都是得到的tomcat webapp下的那个项目的路径而已,所以你每次重启新建的文件夹都会消失
fjzhouxy 2015-08-28
  • 打赏
  • 举报
回复
项目重新部署,会只把项目中的文件给布置过去,tomcat目录中生成的,并不会保存
迷林 2015-08-27
  • 打赏
  • 举报
回复
楼主你是不是把东西存服务器上了的?存服务器上只是零时的,建议修改路径,存在自己本地上
Mr_yyy 2015-08-27
  • 打赏
  • 举报
回复
TOMCAT有两种部署方式,一种是将你工作空间下的项目拷贝到TOMCAT下,然后部署,一种是你配置XML直接指向工作空间下的项目路径,直接就地部署 而不拷贝。一般绝大多数都是用的第一种,所以说猜测楼主生成的文件只是生成在TOMCAT拷贝后的项目里的,这样下次重新部署肯定会被覆盖喽。建议指定一个绝对路径去存文件
风云2015 2015-08-27
  • 打赏
  • 举报
回复
引用 5 楼 Xtl_summer 的回复:
你是存在tomcat的缓存下,你应该存在项目的物理路径去
不是缓存吧,我是在项目里面生成的文件夹啊
lollipop . 2015-08-27
  • 打赏
  • 举报
回复
你是存在tomcat的缓存下,你应该存在项目的物理路径去
风云2015 2015-08-27
  • 打赏
  • 举报
回复
引用 2 楼 wi496481 的回复:
楼主你是不是把东西存服务器上了的?存服务器上只是零时的,建议修改路径,存在自己本地上
String tempDir = request.getSession().getServletContext().getRealPath("/upload/temp/"); 这行代码不就是获取实际物理路径吗?当然是在服务器内部的项目里面的。放在项目外面吗?
风云2015 2015-08-27
  • 打赏
  • 举报
回复
引用 1 楼 Mr_yyy 的回复:
TOMCAT有两种部署方式,一种是将你工作空间下的项目拷贝到TOMCAT下,然后部署,一种是你配置XML直接指向工作空间下的项目路径,直接就地部署 而不拷贝。一般绝大多数都是用的第一种,所以说猜测楼主生成的文件只是生成在TOMCAT拷贝后的项目里的,这样下次重新部署肯定会被覆盖喽。建议指定一个绝对路径去存文件
我的部署方式是:在myeclipse里面开发项目,比如项目名是myProject,然后用myeclipse里面的部署工具将 项目 部署到tomcat下的webapps文件夹里,这样修改的东西可以随时测试。然后输入locahost:8080/myProject测试 。启动tomcat的时候,我也是用myeclipse自带启动按钮启动的。我发生的问题就是在本机测试时候发生的。

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧