归纳一些网上取JAVA路径的方法:
注明:如果从ANT启动程序,this.getClass().getResource("")取出来的比较怪,直接用JAVA命令行调试就可成功。
得到classpath和当前类的绝对路径的一些方法
获得CLASSPATH之外路径的方法:
URL base = this.getClass().getResource(""); //先获得本类的所在位置,如/home/popeye/testjava/build/classes/net/ String path = new File(base.getFile(), "……/……/……/"+name).getCanonicalPath(); //就可以得到/home/popeye/testjava/name
下面是一些得到classpath和当前类的绝对路径的一些方法。你可能需要使用其中的一些方法来得到你需要的资源的绝对路径。
1.FileTest.class.getResource("")
得到的是当前类FileTest.class文件的URI目录。不包括自己!
如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/com/test/
2.FileTest.class.getResource("/")
得到的是当前的classpath的绝对URI路径。
如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/
3.Thread.currentThread().getContextClassLoader().getResource("")
得到的也是当前ClassPath的绝对URI路径。
如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/
4.FileTest.class.getClassLoader().getResource("")
得到的也是当前ClassPath的绝对URI路径。
如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/
5.ClassLoader.getSystemResource("")
得到的也是当前ClassPath的绝对URI路径。
如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/
我推荐使用Thread.currentThread().getContextClassLoader().getResource("")来得到当前的classpath的绝对路径的URI表示法。
在Web应用程序中,我们一般通过ServletContext.getRealPath("/")方法得到Web应用程序的根目录的绝对路径。这样,我们只需要提供相对于Web应用程序根目录的路径,就可以构建出定位资源的绝对路径。
注意点:
1.尽量不要使用相对于System.getProperty("user.dir")当前用户目录的相对路径。这是一颗定时bomb,随时可能要你的命。
2.尽量使用URI形式的绝对路径资源。它可以很容易的转变为URI,URL,File对象。
3.尽量使用相对classpath的相对路径。不要使用绝对路径。使用上面ClassLoaderUtil类的public static URL getExtendResource(String relativePath)方法已经能够使用相对于classpath的相对路径定位所有位置的资源。
4.绝对不要使用硬编码的绝对路径。因为,我们完全可以使用ClassLoader类的getResource("")方法得到当前classpath的绝对路径。
使用硬编码的绝对路径是完全没有必要的!它一定会让你死的很难看!程序将无法移植!
如果你一定要指定一个绝对路径,那么使用配置文件,也比硬编码要好得多!
当然,我还是推荐你使用程序得到classpath的绝对路径来拼资源的绝对路径.
分享到:
相关推荐
Java 获取当前路径是 Java 编程中一个常见的需求,下面我们将讨论如何在 Java 中获取当前路径。 方法一:使用 System.getProperty() 函数 使用 System.getProperty() 函数可以获取当前路径,该函数可以获取 Java ...
在Java开发中,路径处理是常见且重要的环节,尤其是在Web应用中,正确处理各种路径能够确保资源的准确访问和系统的稳定运行。以下是对标题“JAVA中获取各种路径”及其描述和部分内答所提及的几种路径获取方法的详细...
Java 项目中获取路径详解 在 Java 项目中,获取路径是非常重要的,因为它关系到项目的正确运行。特别是在 Java Web 项目中,获取路径变得更加复杂。下面我们将详细讨论 Java 项目中获取路径的方法和注意事项。 ...
在Java开发中,特别是在Web应用开发中,经常需要获取不同类型的路径,例如:当前Web应用的路径、特定文件的真实路径等。本文将详细讲解如何通过不同的方式来获取这些路径。 #### JSP中获取路径 1. **获取当前应用...
效劳器中的 Java 类获得当前路径 在效劳器中的 Java 类中,我们可以使用 `WebApplication 的操作系统文档根列表` 来获取当前路径。例如,我们可以使用 `Weblogic 的文档根路径` 来获取当前路径。 了解 Java 中的...
在Java编程语言中,获取路径是一项基础且重要的任务,它涉及到文件系统操作和资源定位。在Java中,路径处理主要由java.io和java.nio.file包中的类来支持。本篇文章将详细探讨Java中如何获取和操作路径。 首先,我们...
在Java编程语言中,处理文件路径是开发过程中常见的需求之一。理解如何在Java中获取文件路径,特别是区分绝对路径和相对路径,对于构建稳定、可移植的应用程序至关重要。本文将深入探讨Java中获取文件路径的多种方法...
在物理路径中,“./”代表当前目录,“../”代表上级目录。 #### 二、JSP/Servlet中的相对路径和绝对路径 ##### 2.1 服务器端的地址 服务器端的相对地址是指相对于Web应用的地址。在服务器端解析时,这些地址与...
在Java中,可以通过多种方式获取当前文件路径。以下是一些常用的技巧: 1. **使用`System.getProperty("user.dir")`**: - 这个方法返回当前工作目录的路径。 - 示例代码: ```java System.out.println(System....
在Java程序中,获取本地路径主要是指获取当前运行环境的路径,或者特定资源的路径。 1. **通过`System`类获取路径**: - `System.getProperty("user.dir")`:返回当前工作目录的绝对路径。 - 示例:`D:\VSS装目録...
在Java编程中,经常需要处理文件路径问题,特别是当涉及到Web应用程序时。Java提供了多种方法来获取虚拟路径与物理路径,这对于文件操作至关重要。本文将详细介绍几种获取Java路径的方法,并对每种方法的应用场景...
3. JSP/Servlet 中获得当前应用的相对路径和绝对路径 3.1 JSP 中获得当前应用的相对路径和绝对路径 可以使用 request.getRequestURI() 获取当前应用的相对路径,使用 application.getRealPath(request....
3. 在 JSP/Servlet 中获得当前应用的相对路径和绝对路径 在 JSP 中,可以使用 request.getRequestURI() 获取当前文件的绝对路径,然后使用 application.getRealPath(request.getRequestURI()) 获取当前文件的绝对...
在Web应用中,通过`request.getContextPath()`可以获得web应用的上下文路径,如"/tree",这里的"tree"指的是web项目的root context。这通常用于构建请求URL或资源路径的基础部分。 ### 2. 解决Java路径问题的方案 ...
1. **获取当前类的资源路径**:Java提供了一个内置的方法`getClass().getResource()`或`getClass().getResourceAsStream()`,它们可以从类路径中获取资源的URL。例如,如果你有一个名为`MyClass.class`的文件,你...
在Java中,实现Dijkstra算法通常会使用`PriorityQueue`作为优先队列,`HashMap`或`ArrayList`来存储节点及其相关信息,如最短路径长度和前驱节点。同时,可以使用`HashSet`来跟踪已经处理过的节点,避免重复处理。 ...
通过松弛操作,即不断尝试缩短当前已知的最短路径,直到所有路径不再更新,从而得到最短路径。在无向图中,Bellman-Ford算法可以找到从指定起点到所有其他顶点的最短路径,包括可能存在负权边的情况。 4. **Breadth...