System.getProperty()等获取java的当前路径

1、利用System.getProperty()函数获取当前路径: 
System.out.println(System.getProperty("user.dir"));//user.dir指定了当前的路径 

2、使用File提供的函数获取当前路径: 
File directory = new File("");//设定为当前文件夹 
try{ 
    System.out.println(directory.getCanonicalPath());//获取标准的路径 
    System.out.println(directory.getAbsolutePath());//获取绝对路径 
}catch(Exceptin e){} 

File.getCanonicalPath()和File.getAbsolutePath()只是对于new File(".")和new File("..")两种路径有所区别。 

# 对于getCanonicalPath()函数,“."就表示当前的文件夹,而”..“则表示当前文件夹的上一级文件夹 
# 对于getAbsolutePath()函数,则不管”.”、“..”,返回当前的路径加上你在new File()时设定的路径 
# 至于getPath()函数,得到的只是你在new File()时设定的路径 

注意:System.getenv() 方法是获取指定的环境变量的值;System.getProperty() 是获取系统的相关属性;环境变量的修改的两种情况:修改环境变量之后,如果受影响的是应用程序,那么只要简单地重新启动此应用程序,环境变量的修改就会反映到该程序中,而不必重新启动计算机;但是,如果受影响的是系统服务,就必须重新启动才能将环境变量的修改反映到系统服务中(因为没有办法在不重启计算机的情况下重新启动系统服务管理器)。 

System.getProperty() 是获取系统的相关属性,包括文件编码、操作系统名称、区域、用户名等,此属性一般由jvm自动获取,不能设置。这个必须接受一个String类型的参数,返回值的类型也是String,如果想获取所有的系统的相关属性值可以使用System.getProperties()。 

(1)System.getProperty() 接收参数及其含义如下:

public static String getProperty(String key);
参数值 参数含义
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 用户的当前工作目录    

 System.getenv() 方法是获取指定的环境变量的值。它有两种方法,一种是接收参数为任意字符串,当存在指定环境变量时即返回环境变量的值,否则返回null。另外一种是不接受参数,那么返回的是所有的环境变量。下面是它们的源码

(1)接收参数为任意字符串:public static String getenv(String name);

(2)不接受参数:public static java.util.Map<String,String> getenv();

3.代码如下:

复制代码
import java.util.Iterator;
import java.util.Map;
import java.util.Properties;

public class SystemEvnTest {
public static void main(String[] args) {
for(Map.Entry entry:System.getenv().entrySet()){
System.out.println(entry.getKey().toString().toLowerCase()+"="+entry.getValue());
}
System.out.println("=========================");

Properties p = System.getProperties();
for (Iterator it = p.keySet().iterator(); it.hasNext(); )
{
String key = (String ) it.next();
String value = (String ) p.get(key);
System.out.println(key +"=" +value);
}
}
}
复制代码
原文地址:https://www.cnblogs.com/gzu-link-pyu/p/8721589.html