1、在java中经常会看到这样的代码 File file=new File("local/app.txt")。那么这个文件的路径是相对于系统属性key为user.dir的路径。代码如下:
// 打印当前的路径 File currentFile = new File(""); printer.println(currentFile.getAbsolutePath()); // 打印出user.dir属性 printer.println(System.getProperty("user.dir"));
如果我们修改user.dir的属性重新执行以上的代码会发现路径也会发生改变。File rootFile = new File("/");windows表示盘符的目录。
2、获得classpath下资源的路径
// 打印当前class路径的url printer.println(PathPrinter.class.getResource("").toString()); // 下面的语句和getClassLoader().getResource("")相同,因为 // CLass.getResource做了下处理。参见起Class类resolveName方法 printer.println(PathPrinter.class.getResource("/").toString());
3、通过classLoader的API获得资源
printer.println(PathPrinter.class.getClassLoader().getResource("").toString());
我们的源码工程如下:
里面代码请查看附件。
如果我们把该代码导出jar包然后供其他代码使用,
然后此时调用会发现在这一行代码会报空指针( java.lang.NullPointerException)PathPrinter.class.getResource("")。经过跟踪代码发现此时我们使用的ClassLoader是sun.misc.Launcher.AppClassLoader。而这个ClassLoader查找资源是根据classPath查找,此时的ClassPath包含一个jar包,在sun.misc.URLClassPath.JarLoader中loader路径是为空的,在getResource方法中,代码如下:
//此时paramString为class文件的相对路径 JarEntry localJarEntry = this.jar.getJarEntry(paramString); //JarFile的getJarEntry方法如果入参是路径,得到的为空
因此通过上面PathPrinter.class.getResource("")获得类所在的路径不一定都是可以的(如果该jar放入到osgi环境下,这段代码还是没有问题的)
相关推荐
Java 项目中获取路径详解 在 Java 项目中,获取路径是非常重要的,因为它关系到项目的正确运行。特别是在 Java Web 项目中,获取路径变得更加复杂。下面我们将详细讨论 Java 项目中获取路径的方法和注意事项。 ...
5. Java 编程的 Class 中获得相对路径,绝对路径的窍门 在 Java 编程的 Class 中,我们可以使用 `Class.getResource()` 方法来获取相对路径和绝对路径。例如,我们可以使用 `FileTest.class.getResource("")` 来...
java、servlet、jsp、class等等中如何获得所在的路径
Java 获取当前路径是 Java 编程中一个常见的需求,下面我们将讨论如何在 Java 中获取当前路径。 方法一:使用 System.getProperty() 函数 使用 System.getProperty() 函数可以获取当前路径,该函数可以获取 Java ...
在Java开发中,特别是在Web应用开发中,经常需要获取不同类型的路径,例如:当前Web应用的路径、特定文件的真实路径等。本文将详细讲解如何通过不同的方式来获取这些路径。 #### JSP中获取路径 1. **获取当前应用...
在Java开发中,路径处理是常见且重要的环节,尤其是在Web应用中,正确处理各种路径能够确保资源的准确访问和系统的稳定运行。以下是对标题“JAVA中获取各种路径”及其描述和部分内答所提及的几种路径获取方法的详细...
本文将详细介绍Java中获取文件路径的各种方法及其应用场景,帮助开发者更好地理解和掌握这些技巧。 #### 二、基本概念 在深入讨论之前,我们需要了解几个基本概念: - **Classpath**: 是Java运行环境的一个重要...
以上就是关于“Java获得某个路径下的所有文件列表,并写入指定文件”的详细解释。通过这些知识点,你可以轻松实现文件列表的获取与写入操作。记住,始终要根据具体项目需求和安全性考虑进行适当的调整。
### Java中的绝对路径与相对路径 在Java编程中,路径管理是进行文件操作的重要组成部分,尤其是在Web应用开发中。本文将详细介绍如何在Java中获取不同类型的路径,包括Web服务器下的文件路径、本地路径以及相对路径...
### JAVA中如何获取文件路径详解 #### 一、概述 在Java编程中,获取文件路径是一项基础而重要的技能。无论是处理本地文件还是部署在Web容器中的应用,了解如何正确地获取文件路径对于程序的正常运行至关重要。本文...
在Java编程语言中,处理文件路径是开发过程中常见的需求之一。理解如何在Java中获取文件路径,特别是区分绝对路径和相对路径,对于构建稳定、可移植的应用程序至关重要。本文将深入探讨Java中获取文件路径的多种方法...
在物理路径中,“./”代表当前目录,“../”代表上级目录。 #### 二、JSP/Servlet中的相对路径和绝对路径 ##### 2.1 服务器端的地址 服务器端的相对地址是指相对于Web应用的地址。在服务器端解析时,这些地址与...
在Java编程中,经常需要处理文件路径问题,特别是当涉及到Web应用程序时。Java提供了多种方法来获取虚拟路径与物理路径,这对于文件操作至关重要。本文将详细介绍几种获取Java路径的方法,并对每种方法的应用场景...
在Java程序中,可以通过`System.getenv`方法获取环境变量,进而得到存储在环境变量中的路径信息。 ### 6. 使用URI和URL 对于Web应用来说,路径还可能以URI或URL的形式存在,如数据库连接字符串、外部资源链接等。 ...
在一个标准的Java Web应用中,`WEB-INF`目录是放置如`web.xml`配置文件、类文件(通过编译Java源代码得到)和库文件(JARs)的地方。而WEBROOT则是Web应用的根目录,通常包含HTML、CSS、JavaScript等静态资源。Web...
Java 开发中,路径问题是非常重要的一方面,不同的路径表示方式会带来不同的结果,了解绝对路径和相对路径的概念和使用方法对Java 开发非常重要。本文总结了Java 开发中的路径问题,帮助开发朋友方便解决路径问题,...
通过松弛操作,即不断尝试缩短当前已知的最短路径,直到所有路径不再更新,从而得到最短路径。在无向图中,Bellman-Ford算法可以找到从指定起点到所有其他顶点的最短路径,包括可能存在负权边的情况。 4. **Breadth...