java获取目录最快方法_Java获取当前目录方法整理

本文介绍了多种在Java中获取项目目录的方法,包括System.getProperty("user.dir")、File对象的getAbsolutePath和getCanonicalPath,以及使用Class和ClassLoader的getResource方法。针对不同场景,如获取根目录、规范路径或读取资源文件,提供了适用的选择。此外,还列出了System.getProperty()可用的系统属性。
摘要由CSDN通过智能技术生成

假设项目路径是E:\Workspaces\MyProgram\FilePath

1.使用System.getProperty("user.dir"),获得项目的根路径,返回String:E:\Workspaces\MyProgram\FilePath

2.使用File对象提供的获取绝对路径的方法获取根路径,new File("").getAbsolutePath(),返回String:E:\Workspaces\MyProgram\FilePath

3.可以使用File对象获取标准路径的方法来控制:

1)new File("..").getCanonicalPath(),返回String:E:\Workspaces\MyProgram

2)new File(".").getCanonicalPath(),返回String:E:\Workspaces\MyProgram\FilePath

4.使用class对象的getResource()方法获得bin目录,getClass().getResource(""),返回URL对象:file:/E:/Workspaces/MyProgram/FilePath/bin/

5. 使用ClassLoader对象的getResource()方法获得bin目录,getClass().getClassLoader().getResource(""),返回URL对象:file:/E: /Workspaces/MyProgram/FilePath/bin/

建议:

1.对于要获得的目录不在bin目录下的操作,可以使用1、2、3方式获得根目录,然后具体处理。

2. 对于规范的项目结构包含src/main/resources目录,资源文件一般放置于此,即bin目录下,可以使用4、5两种方法,另外这两种方法可以直接读取文件为InputStream可以直接进行使用,即getResourceAsStream(name)方法。

另外:System.getProperty()中的字符串参数如下:

java.version //Java 运行时环境版本

java.vendor //Java 运行时环境供应商

java.vendor.url //Java 供应商的 URL

java.home //Java 安装目录

java.vm.specification.version //Java 虚拟机规范版本

java.vm.specification.vendor //Java 虚拟机规范供应商

java.vm.specification.name //Java 虚拟机规范名称

java.vm.version //Java 虚拟机实现版本

java.vm.vendor //Java 虚拟机实现供应商

java.vm.name //Java 虚拟机实现名称

java.specification.version //Java 运行时环境规范版本

java.specification.vendor //Java 运行时环境规范供应商

java.specification.name //Java 运行时环境规范名称

java.class.version //Java 类格式版本号

java.class.path //Java 类路径

java.library.path //加载库时搜索的路径列表

java.io.tmpdir //默认的临时文件路径

java.compiler //要使用的 JIT 编译器的名称

java.ext.dirs //一个或多个扩展目录的路径

os.name //操作系统的名称

os.arch //操作系统的架构

os.version //操作系统的版本

file.separator //文件分隔符(在 UNIX 系统中是“/”)

path.separator //路径分隔符(在 UNIX 系统中是“:”)

line.separator //行分隔符(在 UNIX 系统中是“/n”)

user.name //用户的账户名称

user.home //用户的主目录

user.dir //用户的当前工作目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值