java各种路径获取及"\\"和"/"的使用等问题

注意:

a、以下这些通过方法取得的路径字符串结尾都没有“/”

b、在进行路径字符串拼接时候,为避免分隔符漏写,要习惯开头和结尾都加上分隔符,程序运行时会自动合并分隔符重复

request.getRealPath("/")+"/test\\"

c、读取Windows下的路径只能使用“\”

d、在linux下只能使用"/"

e、在拼接字符串时可以用File.separator代替斜杠,在跨平台使用时不用去注意斜杠写法,或者都使用"/"

File myFile = new File("C:" + File.separator + "tmp" + File.separator, "test.txt");

f、java中“/”与“\\”是一样的

1、jsp中获取

request.getRequestURI()
结果:/TEST/test.jsp
request.getContextPath()
结果::/TEST
request.getServletPath()
结果: /TEST/jsp/test.jsp
application.getRealPath(“页面.jsp”)
结果:D:\tomcat\webapps\TEST\test.jsp
absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent();
结果:D:\tomcat\webapps\TEST

2、类中获取

(1).Test.class.getResource(“”)
得到的是当前类FileTest.class文件的URI目录。不包括自己!
(2).Test.class.getResource(“/”)
得到的是当前的classpath的绝对URI路径。
(3).Thread.currentThread().getContextClassLoader().getResource(“”)
得到的也是当前ClassPath的绝对URI路径。
(4).Test.class.getClassLoader().getResource(“”)
得到的也是当前ClassPath的绝对URI路径。
(5).ClassLoader.getSystemResource(“”)
得到的也是当前ClassPath的绝对URI路径。
(6) new File(“”).getAbsolutePath()也可用。

3、servlet中获取

request.getScheme()  //输出:http
 
request.getServerName()  //输出: localhost
 
request.getServerPort() //输出: 8080
 
request.getContextPath()  //输出: /demo
 
request.getRequestPath() //输出: /Index.jsp
 
request.gerRequestURI() //输出:  /demo/Index.jsp
 
request.getRequestURL() //IE输出: http://localhost:8080/demo/Index.jsp
 
request.getRealPath("") //输出:D:\apache-tomcat-6.0.10\webapps\demo
不建议使用request.getRealPath(“/”); 
通常使用request.getSession().getServletContext().getRealPath("/");

request.getSession().getServletContext()其实取到的是application

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值