Java获取当前目录方法整理

来源:互联网 发布:json get和post 编辑:程序博客网 时间:2024/06/03 15:04

假设项目路径是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 供应商的 URLjava.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//用户的当前工作目录


0 0