回覆列表
  • 1 # 使用者320828098489

    在java中獲得檔案的路徑在我們做上傳檔案操作時是不可避免的。 web 上執行 1:this.getClass().getClassLoader().getResource("/").getPath(); this.getClass().getClassLoader().getResource("").getPath(); 得到的是 ClassPath的絕對URI路徑。 如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war/WEB-INF/classes/ System.getProperty("user.dir"); this.getClass().getClassLoader().getResource(".").getPath(); 得到的是 專案的絕對路徑。 如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war 2:this.getClass().getResource("/").getPath(); this.getClass().getResource("").getPath(); 得到的是當前類 檔案的URI目錄。 如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war/WEB-INF/classes/com/jebel/helper/ this.getClass().getResource(".").getPath(); X 不 能執行 3:Thread.currentThread().getContextClassLoader().getResource("/").getPath() Thread.currentThread().getContextClassLoader().getResource("").getPath() 得到的是 ClassPath的絕對URI路徑。 如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war/WEB-INF/classes/ Thread.currentThread().getContextClassLoader().getResource(".").getPath() 得到的是 專案的絕對路徑。 如:/D:/jboss-4.2.2.GA/server/default/deploy/hp.war 在本地執行中 1:this.getClass().getClassLoader().getResource("").getPath(); this.getClass().getClassLoader().getResource(".").getPath(); 得到的是 ClassPath的絕對URI路徑。 如:/D:/myProjects/hp/WebRoot/WEB-INF/classes this.getClass().getClassLoader().getResource(".").getPath(); X 不 能執行 2:this.getClass().getResource("").getPath(); this.getClass().getResource(".").getPath(); 得到的是當前類 檔案的URI目錄。 如:/D:/myProjects/hp/WebRoot/WEB-INF/classes/com/jebel/helper/ /D:/myProjects/hp/WebRoot/WEB-INF/classes/ 得到的是 ClassPath的絕對URI路徑。 如:/D:/myProjects/hp/WebRoot/WEB-INF/classes 3:Thread.currentThread().getContextClassLoader().getResource(".").getPath() Thread.currentThread().getContextClassLoader().getResource("").getPath() 得到的是 ClassPath的絕對URI路徑。。 如:/D:/myProjects/hp/WebRoot/WEB-INF/classes Thread.currentThread().getContextClassLoader().getResource("/").getPath() X 不 能執行 最後 在Web應用程式中,我們一般透過ServletContext.getRealPath("/")方法得到Web應用程式的根目錄的絕對路徑。 還有request.getContextPath(); 在Weblogic中要用request.getServletContext().getContextPath();但如果打包成war部署到Weblogic伺服器,專案內部並沒有檔案結構的概念,用這種方式是始終得到null,獲取不到路徑,目前還沒有找到具體的解決方案。

  • 中秋節和大豐收的關聯?
  • 健身的飲食要求有幾種?