1. 程式人生 > >Java獲取專案中的檔案

Java獲取專案中的檔案

Java獲取WebRoot路徑下的檔案

    ClassLoader classLoader = Thread.currentThread().getContextClassLoader();  
    if (classLoader == null) {  
        classLoader = ClassLoader.getSystemClassLoader();  
    }
  
    java.net.URL url = classLoader.getResource("");  
    String ROOT_CLASS_PATH = url.getPath() + "/";  
    File rootFile = new File(ROOT_CLASS_PATH);  
    String WEB_INFO_DIRECTORY_PATH = rootFile.getParent() + "/";  
    File webInfoDir = new File(WEB_INFO_DIRECTORY_PATH);  
    String SERVLET_CONTEXT_PATH = webInfoDir.getParent() + "/";   
    String path = SERVLET_CONTEXT_PATH + "/" + 檔案路徑;  
    path = path.replaceAll("%20", " ");  
    File f = new File(path);

獲取src下的fileurl.properties檔案路徑

this.getClass().getResource("/fileurl.properties").getPath()

【this.getClass().getResourceAsStream("/"+Basic.dll);】----jar中的class獲取jar內部的資原始檔,該檔案打包成jar前放置在src目錄下

如果檔案和讀取類在同一個包下,把“/”去掉【this.getClass().getResourceAsStream(Basic.dll);】

獲取webRoot下的service資料夾路徑

request.getSession().getServletContext().getRealPath("/service");

解決路徑中包含空格

URLDecoder.decode(this.getClass().getResource("/fileurl.properties").getPath(),"utf-8")

 

獲取jar同級目錄下的檔案:例如System.getProperty("user.dir")+java.io.File.separator+“檔名”

 

參考連結:https://www.cnblogs.com/lmq-1048498039/p/5568034.html