java文件絕對路徑
❶ java 怎麼把文件的絕對路徑轉換成相對路徑
伺服器中的Java類獲得當前路徑
Weblogic WebApplication的系統文件根目錄是你的weblogic安裝所在根目錄。
例如:如果你的weblogic安裝在c:eaweblogic700…… 那麼,你的文件根路徑就是c:. 所以,有兩種方式能夠讓你訪問你的伺服器端的文件:
a.使用絕對路徑: 比如將你的參數文件放在c:yourconfigyourconf.properties, 直接使用 new FileInputStream("yourconfig/yourconf.properties");
b.使用相對路徑: 相對路徑的根目錄就是你的webapplication的根路徑,即WEB-INF的上一級目錄,將你的參數文件放
在yourwebappyourconfigyourconf.properties, 這樣使用: new
FileInputStream("./yourconfig/yourconf.properties"); 這兩種方式均可,自己選擇。
(2)。Tomcat 在類中輸出System.getProperty("user.dir");顯示的是%Tomcat_Home%/bin
(3)。Resin 不是你的JSP放的相對路徑,是JSP引擎執行這個JSP編譯成SERVLET 的路徑為根。比如用新建文件法測試File f = new File("a.htm"); 這個a.htm在resin的安裝目錄下
(4)。如何讀相對路徑哪? 在Java文件中getResource或getResourceAsStream均可
例:getClass()。getResourceAsStream(filePath);//filePath可以是"/filename",這
里的/代表web 發布根路徑下WEB-INF/classes 默認使用該方法的路徑是:WEB-INF/classes.已經在Tomcat中測試。
❷ java如何獲取類的絕對路徑
1 用servlet獲取
1.1 獲取項目的絕對路徑
request.getSession().getServletContext().getRealPath("")
1.2 獲取瀏覽器地址
request.getRequestURL()
1.3 獲取當前文件的絕對路徑
request.getSession().getServletContext().getRealPath(request.getRequestURI())
2.獲取當前的classpath路徑
String a2=類名.class.getResource("").toString();
String a3=DBConnection.class.getResource("/").toString();
String a4=DBConnection.class.getClassLoader().getResource("").toString();
String t=Thread.currentThread().getContextClassLoader().getResource("").getPath();
//輸出很好理解
3、獲取文件的絕對路徑
String t=Thread.currentThread().getContextClassLoader().getResource("").getPath();
int num=t.indexOf(".metadata");
String path=t.substring(1,num).replace('/', '\\')+"項目名\\WebContent\\文件";
❸ linux下 Java如何獲取文件的絕對路徑
需要使用路徑時,用下面的方法取得項目根目錄的絕對路徑(Tools為方法類)
public static String getRootPath() {
String classPath = Tools.class.getClassLoader().getResource("/").getPath();
String rootPath = "";
//windows下
if("\\".equals(File.separator)){
rootPath = classPath.substring(1,classPath.indexOf("/WEB-INF/classes"));
rootPath = rootPath.replace("/", "\\");
}
//linux下
if("/".equals(File.separator)){
rootPath = classPath.substring(0,classPath.indexOf("/WEB-INF/classes"));
rootPath = rootPath.replace("\\", "/");
}
return rootPath;
}