文件 路径 java_Java文件路径,绝对路径和规范路径

本文介绍了Java中File类的三种文件路径处理方法:getPath()、getAbsolutePath()和getCanonicalPath()。通过示例代码展示了它们在处理相对路径、复杂相对路径和URI路径时的行为,并强调了规范路径在避免相对路径问题上的优势。Java文件路径方法并不检查文件实际存在,仅处理给定的路径名。

Java文件路径可以是抽象的,绝对的或规范的。

Java文件路径

java.io.File有三种确定文件路径的方法,我们将在本教程中探讨学习它们。

getPath() – 此文件路径方法将抽象路径名作为String返回。如果pathname用于创建File对象,则它只返回pathname参数。如果URI用作参数,则它将删除协议并返回文件名。

getAbsolutePath() – 此文件路径方法返回文件的绝对路径。如果使用绝对路径名创建File,则只返回路径名。如果使用相对路径创建文件对象,则以系统相关的方式解析绝对路径名。在UNIX系统上,通过将相对路径名解析为当前用户目录,使其成为绝对路径名。在Microsoft Windows系统上,通过将路径名解析为路径名所指定的驱动器的当前目录(如果有),使相对路径名成为绝对路径名; 如果没有,则针对当前用户目录解析。

getCanonicalPath() – 此路径方法返回绝对和唯一的规范路径名。如果需要,此方法首先将此路径名转换为绝对形式,就像调用getAbsolutePath()方法一样,然后以系统相关的方式将其映射到其唯一形式。这通常涉及从路径名中删除冗余名称,例如:.和..,解析符号链接(在UNIX平台上),以及将驱动器号转换为标准情况(在Microsoft Windows平台上)。

Java文件路径示例

下面通过使用简单的程序来了解java中文件路径的不同情况。

package com.journaldev.files; import java.io.File; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; public class JavaFilePath { public static void main(String[] args) throws IOException, URISyntaxException { File file = new File("D:/users/maxsu/test.txt"); printPaths(file); // relative path file = new File("test.xsd"); printPaths(file); // complex relative paths file = new File("D:/users/maxsu/../pankaj/test.txt"); printPaths(file); // URI paths file = new File(new URI("file:///D:/users/maxsu/test.txt")); printPaths(file); } private static void printPaths(File file) throws IOException { System.out.println("Absolute Path: " + file.getAbsolutePath()); System.out.println("Canonical Path: " + file.getCanonicalPath()); System.out.println("Path: " + file.getPath()); } }

根据上面程序的输出,使用规范路径最适合避免因相对路径而导致的任何问题。另请注意,java文件路径方法不检查文件是否存在。它们只是处理创建File对象时使用的文件的路径名。

¥ 我要打赏 纠错/补充 收藏

哥,这回真没有了

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值