在Java开发中,经常需要处理各种路径的时候。如果不掌握一些方法。估计你就会晕菜!爱Java这里归纳一些取Java绝对路径的方法,下面是一些得到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”)当前用户目录的相对路径。这是一颗定时X弹,随时可能要你的命。
2.尽量使用URI形式的绝对路径资源。它可以很轻易的转变为URI,URL,File对象。
3.尽量使用相对classpath的相对路径。不要使用绝对路径。使用上面ClassLoaderUtil类的public static URL getExtendResource(String relativePath)方法已经能够使用相对于classpath的相对路径定位所有位置的资源。
4.绝对不要使用硬编码的绝对路径。因为,我们完全可以使用ClassLoader类的getResource(””)方法得到当前classpath的绝对路径。
使用硬编码的绝对路径是完全没有必要的!它一定会让你死的很难看!程序将无法移植!
假如你一定要指定一个绝对路径,那么使用配置文件,也比硬编码要好得多!
当然,我还是推荐你使用程序得到classpath的绝对路径来拼资源的绝对路径
相关推荐
以下是对Java Web中相对路径与绝对路径问题的深入总结: ### 一、路径概念与标准 #### 1. URL与URI URL(Uniform Resource Locator)统一资源定位符,是一种用于标识网络上资源位置的标准格式,如`...
### Java中File的相对路径与绝对路径总结 在Java Web开发过程中,经常需要处理文件的读写操作,尤其是在运行时获取配置文件、动态加载对象等情况。对于这些需求,理解和掌握文件的相对路径与绝对路径至关重要。 ##...
### Java中的绝对路径与相对路径 在Java编程中,路径管理是进行文件操作的重要组成部分,尤其是在Web应用开发中。本文将详细介绍如何在Java中获取不同类型的路径,包括Web服务器下的文件路径、本地路径以及相对路径...
### Java(Web)中相对路径与绝对路径问题总结 #### 基本概念理解 在Java Web开发中,路径的概念非常重要,因为它们直接影响到资源的加载和处理。路径分为两种类型:绝对路径和相对路径。 **绝对路径**是指文件或...
- `File.getCanonicalPath()`: 这个方法返回的是一个标准的、不包含"."和".."的绝对路径。在处理相对路径时,它会解析"."(当前目录)和".."(上一级目录),返回一个规范化的路径。 - `File.getAbsolutePath()`: ...
通过上述介绍可以看出,在Java中获取文件路径的方法多种多样,每种方法适用于不同的场景。掌握这些技巧对于编写高效、稳定的Java应用程序至关重要。在实际开发过程中,可以根据具体需求选择最适合的方法来获取文件...
在Java Web开发中,路径主要分为绝对路径和相对路径两种: - **绝对路径**:指的是从根目录开始的完整路径,如`/road/dir1/c.jsp`。在Web环境中,根目录通常指Web应用的根目录,即`http://机器IP:8080/Web应用名`...
这将返回类文件在类路径中的绝对路径。 其次,`java.lang.Runtime`类提供了执行操作系统命令的方法,例如`exec`,通过执行特定的系统命令,可以获取到程序的当前工作目录。例如: ```java Runtime.getRuntime()....
在 Java 中,并不存在标准的相对路径,各种相对路径的取资源方式都是基于某种规则转化为绝对路径。因此,理解 Java 中的相对路径是非常重要的。在 Java 中,我们可以通过不同的方式来获取 Resource 路径,如通过 ...
- **类的绝对路径**:`Class.class.getClass().getResource("/").getPath()` - **获取工程的路径**:`System.getProperty("user.dir")` ##### 在Servlet中获取路径 - **获取工程目录**:`request.getSession()....
总结来说,这个Java程序通过调用系统命令或使用特定库,实现了访问Windows共享目录的功能,并能够从指定路径下载文件到本地。`SmbUtils.java`和`CmdUtils.java`是实现这一功能的核心组件,它们分别负责SMB操作和系统...
这个结果并不一定是绝对路径,取决于你创建`File`对象时提供的路径。 2. `getAbsolutePath()` `getAbsolutePath()`方法返回抽象路径名的绝对路径名字符串。如果路径已经是一个绝对路径,那么它将与`getPath()`返回...
- **返回值**:该方法返回的是一个相对路径或者绝对路径,具体取决于构建 `File` 对象时所使用的路径。 - **平台依赖性**:返回的路径字符串遵循当前操作系统的规定格式。例如,在Windows系统上,路径分隔符为 `\`;...
通过以上介绍可以看出,`getAbsolutePath()`、`getPath()` 和 `getCanonicalPath()` 这三个方法分别提供了获取绝对路径、相对路径和规范路径的功能。开发者可以根据实际需求选择合适的方法来获取文件或目录的路径。...
通过创建一个空字符串路径的File对象,并调用getCanonicalPath方法,可以获取到项目所在的绝对路径。例如: ```java File directory = new File(""); String courseFile = directory.getCanonicalPath(); ``` 这种...
总结,读取`properties`文件的方法取决于文件存储的位置。当文件位于类路径内时,使用`getResourceAsStream()`;当文件位于文件系统中时,使用`java.nio.file`包提供的功能。了解这两种方式对于Java开发者来说至关...
总结来说,Ant自动获取文件路径涉及了Ant的属性设置、文件集定义、路径操作以及文件操作任务等多个方面,这些功能使得Ant能够灵活地管理项目中的文件和目录,实现自动化构建流程。通过理解和熟练运用这些知识点,...
- **`getAbsolutePath()`**:此方法返回抽象路径名的绝对路径名字符串。如果此抽象路径名已经是绝对路径名,则返回该路径名字符串,这与`getPath()`方法相同。如果此抽象路径名是相对路径,则使用系统特定的方式来...
文件路径可以是相对路径或绝对路径,取决于FTP服务器的配置。 注意:在实际应用中,还需要处理异常,确保文件传输的正确性和安全性。此外,考虑到FTP协议的安全隐患,通常建议使用更安全的SFTP(SSH文件传输协议)...