`
isiqi
  • 浏览: 16558218 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

File类三种得到路径的方法

阅读更多

getPath public String getPath()将此抽象路径名转换为一个路径名字符串。所得到的字符串使用默认名称分隔符来分隔名称序列中的名称。 返回: 此抽象路径名的字符串形式

getAbsolutePath
public String getAbsolutePath()返回抽象路径名的绝对路径名字符串。
如果此抽象路径名已经是绝对路径名,则返回该路径名字符串,这与 getPath() 方法一样。如果此抽象路径名是空的抽象路径名,则返回当前用户目录的路径名字符串,该目录由系统属性 user.dir 指定。否则,使用与系统有关的方式分析此路径名。在 UNIX 系统上,通过根据当前用户目录分析某一相对路径名,可使该路径名成为绝对路径名。在 Microsoft Windows 系统上,通过由路径名指定的当前驱动器目录(如果有)来分析某一相对路径名,可使该路径名成为绝对路径名;否则,可以根据当前用户目录来分析它。


返回:
绝对路径名字符串,它与此抽象路径名表示相同的文件或目录的
抛出:
SecurityException
- 如果无法访问所需的系统属性值。
另请参见:
isAbsolute()
getCanonicalPath
public String getCanonicalPath()
throws IOException返回抽象路径名的规范路径名字符串。
规范路径名是绝对路径名,并且是惟一的。规范路径名的准确定义与系统有关。如有必要,此方法首先将路径名转换成绝对路径名,这与调用 getAbsolutePath() 方法的效果一样,然后用与系统相关的方式将它映射到其惟一路径名。这通常涉及到从路径名中移除多余的名称(比如
" . " " .. " )、分析符号连接(对于 UNIX 平台),以及将驱动器名转换成标准大小写形式(对于 Microsoft Windows 平台)。

表示现有文件或目录的每个路径名都有一个惟一的规范形式。表示非存在文件或目录的每个路径名也有一个惟一的规范形式。非存在文件或目录路径名的规范形式可能不同于创建文件或目录之后同一路径名的规范形式。同样,现有文件或目录路径名的规范形式可能不同于删除文件或目录之后同一路径名的规范形式。


返回:
表示与此抽象路径名相同的文件或目录的规范路径名字符串
抛出:
IOException
- 如果发生 I / O 错误(可能是因为构造规范路径名需要进行文件系统查询)
SecurityException
- 如果无法访问所需的系统属性值,或者存在安全管理器,且其 SecurityManager.checkRead(java.io.FileDescriptor) 方法拒绝对该文件进行读取访问
从以下版本开始:
JDK1.
1


二、例子:
1,getPath()与getAbsolutePath()的区别

public static void test1() {
File file1
= new File( " .\\test1.txt " );
File file2
= new File( " D:\\workspace\\test\\test1.txt " );
System.out.println(
" -----默认相对路径:取得路径不同------ " );
System.out.println(file1.getPath());
System.out.println(file1.getAbsolutePath());
System.out.println(
" -----默认绝对路径:取得路径相同------ " );
System.out.println(file2.getPath());
System.out.println(file2.getAbsolutePath());

}


得到的结果:

----- 默认相对路径:取得路径不同 ------
.\test1.txt
D:\workspace\test\.\test1.txt
----- 默认绝对路径:取得路径相同 ------
D:\workspace\test\test1.txt
D:\workspace\test\test1.txt

因为getPath()得到的是构造file的时候的路径。
getAbsolutePath()得到的是全路径
如果构造的时候就是全路径那直接返回全路径
如果构造的时候试相对路径,返回当前目录的路径+构造file时候的路径

2,getAbsolutePath()和getCanonicalPath()的不同

public static void test2() throws Exception {
File file
= new File( " ..\\src\\test1.txt " );
System.out.println(file.getAbsolutePath());
System.out.println(file.getCanonicalPath());
}

得到的结果

D:\workspace\test\..\src\test1.txt
D:\workspace\src\test1.txt

可以看到CanonicalPath不但是全路径,而且把..或者.这样的符号解析出来。

分享到:
评论

相关推荐

    利用File类的方法,获得某已有文件的最后修改时间.docx

    我们可以使用`java.io.File`类提供的方法来实现这一功能。以下是对标题和描述中涉及的知识点的详细说明: ### 文件类(File)介绍 `File`类是Java I/O系统的基础,它用于表示文件和目录路径名。`File`对象可以代表...

    JSP中得到几种得到路径的方法

    该方法结合了`getRealPath()`和`File`类的功能,返回的是不包含具体文件名的目录路径,例如`D:\resin\webapps\TEST`。这在处理文件操作时特别有用,比如遍历目录下的所有文件或创建新文件夹。 ### 总结与应用场景 ...

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

    这两种方法用于获取类路径下的资源文件路径,特别适用于JAR包或类加载器管理的资源。 ##### 示例代码: ```java URL xmlPath = this.getClass().getClassLoader().getResource("selected.txt"); System.out.println...

    java路径获得几种方法.txt

    #### 三、获取虚拟路径的方法 ##### 1. 使用URL类获取路径 - **定义**:通过URL类可以获取到文件或资源的路径。这在处理网络资源时非常有用。 - **示例**:例如,如果文件位于`C:\xyz\test.txt`,可以通过URL获取该...

    普通java类获取绝对路径

    例如,如果你有一个名为`MyClass.class`的文件,你可以使用`MyClass.class.getResource("/MyClass.class")`来获取该类的URL,然后通过URL对象的`getPath()`方法得到绝对路径。 2. **使用`java.io.File`类**:你也...

    得到文档路径的几种方法

    ### 得到文档路径的几种方法 在计算机编程中,获取文件或目录的路径是非常常见的需求之一。根据文件系统的特性,我们通常会遇到三种不同类型的路径:绝对路径、相对路径和标准路径(又称为规范路径)。本文将详细...

    java类动态获取相对路径

    如果资源文件是在类的同一个包下,我们可以使用`MyClass.class.getPackage().getName().replace(".", "/")`来获取当前类所在的包路径,然后结合`getResource`得到的URL,可以构造出相对路径。 5. 注意事项 - 在...

    ssh得到file全路径

    使用ssh框架已二进制方式上传图片到数据库blob类型。由于IE等浏览器加强安全性不能得到图片上传的全路径。次段代码用于解决全路径问题

    JS获取input file绝对路径的方法(推荐)

    不过,尽管直接获取本地文件的绝对路径受到限制,我们仍可以通过一些方法间接获取文件路径信息。文章中提供的脚本示例主要是为了在不同浏览器之间获取文件路径信息,尤其是对于较早版本的Firefox浏览器提供了特定的...

    java.io包中的File类.doc

    File 类还提供了许多其他的方法来获取文件的属性,例如:getPath() 方法,取得文件路径,getAbsolutePath() 方法,得到绝对路径名,getParent() 方法,得到父文件夹名,exists() 方法,判断文件是否存在,canWrite()...

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

    使用`File`类实例化对象,并调用相应的实例方法,可以得到关于文件的详细路径信息。 ### 3. ClassLoader类获取资源路径 在Java Web应用中,资源文件的位置可能会变化,此时可以通过`ClassLoader`来获取资源的URL或...

    java得到类的路径

    4. **获取绝对路径**:最后,通过调用`File`对象的`getCanonicalPath()`方法,可以获取到类文件的绝对路径,包括目录结构和文件名。 ### 解析关键方法 #### getClass().getName() `getClass().getName()`返回的是...

    C#文件读写路径总结

    3. 获得路径的某个特定部分(如文件名、扩展名等):使用 Path.GetDirectoryName、Path.GetExtension、Path.GetFileName、Path.GetFileNameWithoutExtension、Path.GetPathRoot 等方法。 4. 合并两个路径:使用 ...

    Java中获得路径

    - `Path`类提供了丰富的操作方法,如`isAbsolute()`检查路径是否为绝对路径,`resolve()`和`resolveSibling()`用于合并路径,`getParent()`获取父路径,`getNameCount()`获取路径段的数量,`getName(int index)`获取...

    android实现Uri获取真实路径转换成File的方法

    在Android开发中,有时我们需要从Uri获取到真实的文件路径,并将其转换为File对象,以便进行文件操作,如读取、写入或删除等。这里我们将深入探讨如何在Android中实现这个过程。 首先,Uri(Uniform Resource ...

    java 获取当前路径

    在使用 File 提供的函数时,需要注意 new File(".") 和 new File("..") 两种路径的区别。对于 getCanonicalPath() 函数,"." 表示当前的文件夹,而 ".." 表示当前文件夹的上一级文件夹。对于 getAbsolutePath() 函数...

    C# 获得文件路径信息

    这两个类提供了很多用于操作文件和目录的方法,如`Directory.GetCurrentDirectory()`可获取当前目录,`File.Exists(string path)`检查文件是否存在,以及`File.OpenRead(string path)`打开文件读取等。 6. **操作...

    JAVA获取各种路径总结

    - 下面的代码展示了几种获取路径的方法: ```java package org.cheng.file; import java.io.File; public class FileTest { public static void main(String[] args) throws Exception { System.out....

    java绝对路径和相对路径

    - 使用`ServletContext`对象的`getRealPath("/")`方法,同样可以获得Web应用的根目录的绝对路径。 - 示例:`E:\eclipseM9\workspace\tree\treeweb` #### 二、获取本地路径 在Java程序中,获取本地路径主要是指...

    绝对路径和相对路径

    #### 四、Java类中获得相对路径和绝对路径的方法 在独立的Java类中,也可以通过特定的方法获取文件的绝对路径。 ##### 4.1 单独的Java类中获得绝对路径 - **根据java.io.File的文档**:可以通过`new java.io.File...

Global site tag (gtag.js) - Google Analytics