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()