码迷,mamicode.com
首页 > 编程语言 > 详细

JavaWeb创建的文件夹跑到tomcat/bin中

时间:2019-03-05 11:18:59      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:col   16px   mamicode   img   mic   位置   absolute   width   info   

  系统项目中需要设置缓存目录,原本项目中的目录设置为D:/cache目录,这怎么成?于是手动改成了cache目录,原本想使用了相对路径,web项目能够把缓存路径设置到tomcat的webapp的具体项目中,谁知道项目启动后在web项目目录中根本找不到这个目录,什么原因?

  原来这是java读取文件机制的问题,如果直接这样写路径new File("a.***"),那么tomcat就会从程序启动的地方去创建这个文件(Java项目中也是如此),那么web应用是从有tomcat来执行的,tomcat这个程序是从哪里启动文件是startup.bat,位置是tomcat/bin。

  我们前面说了,普通java项目也是如此,从程序启动的地方创建文件,那么文件路径不会是JDK中bin路径吧?不是这样的,看实验结果:

1 package io.guangsoft.file;
2 import java.io.File;
3 public class CreateFile {
4     public static void main(String args[]) {
5         File file = new File("location.txt");
6         System.out.println(file.getAbsolutePath());
7     }
8 }

技术图片

  实验结果表明,默认的文件路径是eclipse项目路径,因为我们的项目从main函数启动,而main函数在eclipse项目中,同理web项目的启动入口main函数在tomcat的bin中的某个jar包。而jdk提供的仅是java运行程序不是真正的程序启动路径。

 

JavaWeb创建的文件夹跑到tomcat/bin中

标签:col   16px   mamicode   img   mic   位置   absolute   width   info   

原文地址:https://www.cnblogs.com/guanghe/p/10475272.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!