如何获得当前文件路径
常用:
(1).Test.class.getResource("")
得到的是当前类所在的目录,包括报名,但不包括类名
(2).Test.class.getResource("/")
得到的是当前类所在的目录,不包括包名
(3).Thread.currentThread().getContextClassLoader().getResource("")
得到的也是当前ClassPath的绝对URI路径。
(4).Test.class.getClassLoader().getResource("")
得到的也是当前ClassPath的绝对URI路径。
(5).ClassLoader.getSystemResource("")
得到的也是当前ClassPath的绝对URI路径。
尽量不要使用相对于System.getProperty("user.dir")当前用户目录的相对路径,后面可以看出得出结果五花八门。
(6) new File("").getAbsolutePath()也可用。
(7)得到工程名字System.getProperty("user.dir")
(8)常用的属性集
"Java运行时环境版本:\n"+System.getProperty("java.version"));
"Java 运行时环境供应商:\n"+System.getProperty("java.vendor"));
"Java 供应商的URL:\n"+System.getProperty("java.vendor.url"));
"Java安装目录:\n"+System.getProperty("java.home"));
"Java 虚拟机规范版本:\n"+System.getProperty("java.vm.specification.version"));
"Java 类格式版本号:\n"+System.getProperty("java.class.version"));
"Java类路径:\n"+System.getProperty("java.class.path"));
"加载库时搜索的路径列表:\n"+System.getProperty("java.library.path"));
"默认的临时文件路径:\n"+System.getProperty("java.io.tmpdir"));
"要使用的 JIT 编译器的名称:\n"+System.getProperty("java.compiler"));
"一个或多个扩展目录的路径:\n"+System.getProperty("java.ext.dirs"));
"操作系统的名称:\n"+System.getProperty("os.name"));
"操作系统的架构:\n"+System.getProperty("os.arch"));
"操作系统的版本:\n"+System.getProperty("os.version"));
"文件分隔符(在 UNIX 系统中是“/”):\n"+System.getProperty("file.separator"));
注:指的是文件与目录,目录与父目录直接的分隔符
"路径分隔符(在 UNIX 系统中是“:”):\n"+System.getProperty("path.separator"));
注:指的是多个路径直接的分隔符,window下是;linux下是:
"行分隔符(在 UNIX 系统中是“/n”):\n"+System.getProperty("line.separator"));
注: 这个也就是换行符
"用户的账户名称:\n"+System.getProperty("user.name"));
"用户的主目录:\n"+System.getProperty("user.home"));
"用户的当前工作目录:\n"+System.getProperty("user.dir"));