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); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2021-04-13 python os模块技巧