JavaWeb創建的文件夾默認在tomcat/bin中


  系統項目中需要設置緩存目錄,原本項目中的目錄設置為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運行程序不是真正的程序啟動路徑。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM