Java: 环境变量 系统变量 getResource() getResources() getSystemResource()

public class B {

  public static final void main(String[] args) {
    System.out.println(System.getProperty("bb"));
    System.out.println(System.getProperty("file.encoding"));
  }
}

 

 

 

 一、Java获取环境变量

Java 获取环境变量的方式很简单: 

System.getEnv()  得到所有的环境变量

System.getEnv(key) 得到某个环境变量

Map map = System.getenv();  
Iterator it = map.entrySet().iterator();  
while(it.hasNext())  
{  
    Entry entry = (Entry)it.next();  
    System.out.print(entry.getKey()+"=");  
    System.out.println(entry.getValue());  
}  
Map<String, String> env = System.getenv();
    Set<Map.Entry<String, String>> entries = env.entrySet();
    ArrayList<Map.Entry<String, String>> arrayList = new ArrayList<>(entries);

    arrayList.sort(new Comparator<Map.Entry<String, String>>(){
      @Override
      public int compare(Map.Entry<String, String> o1, Map.Entry<String, String> o2){
        return o1.getKey().compareTo(o2.getKey());
      }
    });
    arrayList.forEach(entry -> {
      System.out.println(entry.getKey() + ": " + entry.getValue());
    });

二、获取系统变量 

Java 获取环境变量的方式也很简单:

System.getProperties()  得到所有的系统变量

System.getProperty(key)  得到某个系统变量的值

public void d(){
    Properties properties = System.getProperties();
    Set<Map.Entry<Object, Object>> entries = properties.entrySet();
    ArrayList<Map.Entry<Object, Object>> list = new ArrayList<>(entries);
    list.sort((o1, o2) -> o1.getKey().toString().compareTo(o2.getKey().toString()));
    list.forEach(entry -> {
      String key = (String) entry.getKey();
      String value = (String) entry.getValue();
      if(key.equals("line.separator")){
        System.out.println(key + ": " + Arrays.toString(value.getBytes(StandardCharsets.UTF_8)));
      }else{
        System.out.println(key + ": " + value);
      }
    });
  }

 三、设置系统变量

可以通过System.setProperty(key, value)  的方式设置自己需要的系统变量。

public class SystemEnvironment {
 
    public static void main(String[] args) {
        Properties properties = System.getProperties();
        Iterator it = properties.entrySet().iterator();
        while (it.hasNext()) {
            Entry entry = (Entry) it.next();
            System.out.print(entry.getKey() + "=");
            System.out.println(entry.getValue());
 
        }
        // java类路径
        String javaClassPath = System.getProperty("java.class.path");
        System.out.println(javaClassPath);
 
        System.setProperty("java.class.path", javaClassPath + ";D:\\");
        
        javaClassPath = System.getProperty("java.class.path");
        System.out.println(javaClassPath);
    }
 
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

import java.io.IOException;
import java.net.URL;
import java.util.Enumeration;

public class TestResource{
  public static void main(String[] args) throws IOException{
    Class<TestResource> cls = TestResource.class;


    ClassLoader appClassLoader = cls.getClassLoader();

    ClassLoader platformClassLoader = appClassLoader.getParent();

    Enumeration<URL> appClassLoaderResources = appClassLoader.getResources("");
    while(appClassLoaderResources.hasMoreElements()){
      System.out.println("appClassLoaderResources.nextElement() = " + appClassLoaderResources.nextElement());
    }

    URL appClassLoaderResource = appClassLoader.getResource("");
    System.out.println("appClassLoaderResource = " + appClassLoaderResource);
    


    System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");

    Enumeration<URL> platformClassLoaderResources = platformClassLoader.getResources("");
    while(platformClassLoaderResources.hasMoreElements()){
      System.out.println("platformClassLoaderResources.nextElement() = " + platformClassLoaderResources.nextElement());
    }

    URL platformClassLoaderResource = platformClassLoader.getResource("");
    System.out.println("platformClassLoaderResource = " + platformClassLoaderResource);
  }
}

 

 

 

 

 

 

 

   

 

posted @ 2022-04-13 18:17  ascertain  阅读(280)  评论(0编辑  收藏  举报