`
zwnJava
  • 浏览: 208861 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

java获得项目绝对路径一

    博客分类:
  • java
 
阅读更多

在jsp和class文件中调用的相对路径不同。

在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用System.getProperty("user.dir")获取你工程的绝对路径。

1.jsp中取得路径:
以工程名为TEST为例:
(1)得到包含工程名的当前页面全路径:request.getRequestURI()
结果:/TEST/test.jsp
(2)得到工程名:request.getContextPath()
结果:/TEST
(3)得到当前页面所在目录下全名称:request.getServletPath()
结果:如果页面在jsp目录下 /TEST/jsp/test.jsp
(4)得到页面所在服务器的全路径:application.getRealPath("页面.jsp")
结果:D:\resin\webapps\TEST\test.jsp
(5)得到页面所在服务器的绝对路径:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent();
结果:D:\resin\webapps\TEST

2.在类中取得路径:
(1)类的绝对路径:Class.class.getClass().getResource("/").getPath()
结果:/D:/TEST/WebRoot/WEB-INF/classes/pack/
(2)得到工程的路径:System.getProperty("user.dir")
结果:D:\TEST

3.在Servlet中取得路径:
(1)得到工程目录:request.getSession().getServletContext().getRealPath("") 参数可具体到包名。
结果:E:\Tomcat\webapps\TEST
(2)得到IE地址栏地址:request.getRequestURL()
结果:http://localhost:8080/TEST/test
(3)得到相对地址:request.getRequestURI()
结果:/TEST/test

另,Class类还有一个getResourceAsStream方法,记得以前有个项目要读取在同一个包内的一个xml,就用的这个。

1.如何获得当前文件路径

常用:
(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。
尽量不要使用相对于System.getProperty("user.dir")当前用户目录的相对路径,后面可以看出得出结果五花八门。
(6) new File("").getAbsolutePath()也可用。

注:若这些路径中出现空格,并且空格被%20代替,则可以使用path = java.net.URLDecoder.decode(path,"utf-8") 进行转化;
       
2.Web服务器
(1).Tomcat
在类中输出System.getProperty("user.dir");显示的是%Tomcat_Home%/bin
(2).Resin
不是你的JSP放的相对路径,是JSP引擎执行这个JSP编译成Servlet
的路径为根.比如用新建文件法测试File f = new File("a.htm");
这个a.htm在resin的安装目录下 
(3).如何读文件
使用ServletContext.getResourceAsStream()就可以
(4).获得文件真实路径

String   file_real_path=ServletContext.getRealPath("mypath/filename");  
不建议使用request.getRealPath("/"); 

 

该文引自:http://blog.csdn.net/luo_yifan/article/details/7568466

分享到:
评论

相关推荐

    java项目中获取路径详解

    在 Java 项目中,获取绝对路径可以使用 `HttpServletRequest` 对象的 `getRealPath()` 方法。在 Web 项目中,可以使用 `request.getRealPath("")` 获取绝对路径。 ClassPath 路径 ClassPath 路径是 Java 项目中的...

    windows linux 下,获取java项目绝对路径的方法

    windows linux 下,获取java项目绝对路径的方法,struts2设置了struts.multipart.saveDir后会在根目录建立文件夹,这样会涉及linux下的权限问题

    JAVA获取项目路径.doc

    在Java开发中,获取项目的路径是一个非常常见的需求,尤其是在处理文件读写、资源定位等场景时尤为重要。本文将详细介绍如何通过不同的方法来获取项目的各种路径,并结合示例代码进行说明。 #### System....

    java项目相对路径与绝对路径问题分析

    而像`D:/java/eclipse32/workspace/jbpmtest3/bin/aaa.b`则是本地系统的绝对路径,同样是表示文件`aaa.b`的完整路径,但格式不同。 相对路径则相对抽象,它是相对于某个已知起点(基路径)的路径。在Java项目中,有...

    普通java类获取绝对路径

    在Java编程中,获取类的绝对路径是一项常见的需求,特别是在集成开发环境中如Eclipse。这主要涉及到类加载器和文件系统交互的相关知识。下面将详细解释如何在Java中获取类的绝对路径,以及相关的概念和技术。 首先...

    JAVA获取各种路径总结

    1. **获取当前应用的相对路径与绝对路径** - **根目录所对应的绝对路径** - 方法:`request.getRequestURI()` - `request.getRequestURI()` 返回客户端请求的资源的相对路径(相对于当前上下文)。 - **文件的...

    在JAVA文件中获取该项目的相对路径.doc

    在讨论获取项目的相对路径之前,我们需要了解绝对路径和相对路径的概念。绝对路径是指文件或目录在硬盘上的真正路径,例如 C:\xyz\test.txt 代表了 test.txt 文件的绝对路径。相对路径是指相对于某个基准目录的路径...

    java中File的相对路径与绝对路径总结

    ### Java中File的相对路径与绝对路径总结 在Java Web开发过程中,经常需要处理文件的读写操作,尤其是在运行时获取配置文件、动态加载对象等情况。对于这些需求,理解和掌握文件的相对路径与绝对路径至关重要。 ##...

    java 获取项目文件路径实现方法

    在Java编程中,获取项目文件路径是常见的需求,特别是在处理资源文件、配置文件或进行文件操作时。这里我们将深入探讨几种不同的方法来实现这一目标,同时解析每种方法的适用场景和返回路径的特点。 1. `this....

    Java中获取文件路径的几种方式

    理解如何在Java中获取文件路径,特别是区分绝对路径和相对路径,对于构建稳定、可移植的应用程序至关重要。本文将深入探讨Java中获取文件路径的多种方法,以及这些方法背后的原理。 ### 一、Java中的路径类型 ####...

    获取项目的相对路径和绝对路径

    本文将围绕“获取项目的相对路径和绝对路径”这一主题进行深入探讨,帮助读者理解不同场景下如何正确地获取路径。 ### 一、引言 在Java Web应用中,路径主要分为两种:相对路径与绝对路径。相对路径是指相对于当前...

    Java获取Tomcat下war包部署的Web工程根目录路径的方法

    开发web工程时经常要获取工程的根目录,自己用Java实现的获取Tomcat下war包部署的Web工程根目录路径的方法,主要利用web工程默认的目录结构,此外也可以指定工程名称获取工程目录的绝对路径

    WEB 项目中JAVA取得WEBROOT物理路径

    - 获取的路径是服务器上的绝对路径,可能包含操作系统特定的路径分隔符,例如Windows的`\`或Unix的`/`。 5. **标签解析** - "源码":这个标签暗示了讨论的内容与查看和理解Java源代码有关,这里主要涉及的是Web...

    总结一下java获取路径几种途径

    在Servlet环境中,可以通过`getServletContext().getRealPath("/")`获取web项目的绝对路径。这里的"/"代表的是项目的根目录,返回的将是项目部署的实际物理路径,如"E:\eclipseM9\workspace\tree",其中"tree"即为...

    Java路径问题最终解决方案之一.

    在Java中,相对路径本质上仍然是绝对路径的一种变体。当我们使用相对路径来查找资源时,实际上是在底层通过构建绝对路径的方式来实现的。例如,`ClassLoader` 类及其相关类的 `getResource(String name)` 方法,使用...

    java读取项目中的文件(src目录下)

    在Java编程中,读取项目中的文件,特别是位于`src`目录下的文件,是一个常见的需求。这涉及到对项目结构的理解和使用Java I/O流的知识。`src`目录通常包含源代码文件,而运行时,这些文件会被编译并放置到类路径...

    java获取路径的各种方法

    本文将详细介绍Java中获取路径的几种方法,以及相对路径和绝对路径的基本概念。 首先,理解绝对路径和相对路径的概念至关重要。绝对路径是文件或目录在硬盘上的完整路径,无论起点在哪里都能准确地指向目标。例如,...

    java类动态获取相对路径

    // 获取绝对路径 String relativePath = file.getPath(); // 获取相对路径,这里可能需要根据实际基础路径做处理 ``` `getPath()`方法返回的是相对于JAR文件或类路径的路径,可能并不是我们想要的类的相对路径。...

    Java文件路径详解

    该方法有一个参数,即文件的绝对路径。该路径是相对于 ClassLoader 的根目录的。 例如,ClassLoader.getResourceAsStream("com/explorers/abc.jpg") 可以获取到 abc.jpg 文件的 InputStream 对象。 相对路径的获得...

Global site tag (gtag.js) - Google Analytics