java獲取路徑,檔名的方法總結
阿新 • • 發佈:2019-02-13
1. 檔案路徑獲取
Thread.currentThread().getContextClassLoader().getResource(“”) //獲得資原始檔(.class檔案)所在路徑
ClassLoader.getSystemResource(“”)
ClassName.class.getClassLoader().getResource(“”)
ClassName.class .getResource(“/”)
ClassName.class .getResource(“”) // 獲得當前類所在路徑
System.getProperty(“user.dir”) // 獲得專案根目錄的絕對路徑
System.getProperty(“java.class.path”) //得到類路徑和包路徑
其中ClassName為類名。
2.檔名獲取
String fName =” D:\java\workspace\netmanager01\resources\mibfiles\wtView.mib “;
(“\”,java中需要轉義)
第一種:
File tempFile =new File( fName .trim());
String fileName = tempFile.getName();
第二種:
fName = fName.trim(); fileName = fName.substring(fName.lastIndexOf("/")+1); 或者 fileName = fName.substring(fName.lastIndexOf("\\")+1);
第三種:
fName = fName.trim();
String temp[] = fName.split("\\\\"); //split裡面必須是正則表示式,"\\"的作用是對字串轉義,其中split("\\\\")的作用是:按照"\\"為分隔符,將路徑擷取,並存入陣列,如下:temp[]=[,D:,java,workspace,netmanager01,resources,mibfiles,wtView.mib]
fileName = temp[temp.length-1];(取出最後一個)
3. JSP中獲得當前應用的相對路徑和絕對路徑
根目錄所對應的絕對路徑:request.getRequestURI() 檔案的絕對路徑:application.getRealPath(request.getRequestURI()); 當前web應用的絕對路徑:application.getRealPath("/"); 取得請求檔案的上層目錄:new File(application.getRealPath(request.getRequestURI())).getParent()
4.Servlet中獲得當前應用的相對路徑和絕對路徑
根目錄所對應的絕對路徑:request.getServletPath();
檔案的絕對路徑 :request.getSession().getServletContext().getRealPath(request.getRequestURI())
當前web應用的絕對路徑 :servletConfig.getServletContext().getRealPath("/");
ServletContext物件獲得幾種方式:
1.javax.servlet.http.HttpSession.getServletContext()
2.javax.servlet.jsp.PageContext.getServletContext()
3.javax.servlet.ServletConfig.getServletContext()