java输出当前系统参数

本文介绍了一个使用Junit进行的Java测试案例,该测试用例打印了系统的各种属性,如路径分隔符、文件编码等,并展示了具体的运行结果。此外,还列举了一些常用的系统参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java之Junit测试代码
@org.junit.Test
	public void printSystemPropertiesToConsole() {
		Set<Entry<Object, Object>> entrySet = System.getProperties().entrySet();
		Iterator<Entry<Object, Object>> iterator = entrySet.iterator();
		while( iterator.hasNext() ){
			System.err.println(iterator.next().toString());
		}
	}

结果:

java.runtime.name=Java(TM) SE Runtime Environment
sun.boot.library.path=C:\Program Files\Java\jdk1.6.0_10\jre\bin
java.vm.version=11.0-b15
java.vm.vendor=Sun Microsystems Inc.
java.vendor.url=http://java.sun.com/
path.separator=;
java.vm.name=Java HotSpot(TM) Client VM
file.encoding.pkg=sun.io
sun.java.launcher=SUN_STANDARD
user.country=CN
sun.os.patch.level=Service Pack 3
java.vm.specification.name=Java Virtual Machine Specification
user.dir=D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy
java.runtime.version=1.6.0_10-b33
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs=C:\Program Files\Java\jdk1.6.0_10\jre\lib\endorsed
os.arch=x86
java.io.tmpdir=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\
line.separator=

java.vm.specification.vendor=Sun Microsystems Inc.
user.variant=
os.name=Windows XP
sun.jnu.encoding=GBK
java.library.path=C:\Program Files\Java\jdk1.6.0_10\jre\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/programfiles/myeclipse/Common/binary/com.sun.java.jdk.win32.x86_1.6.0.013/jre/bin/client;C:/programfiles/myeclipse/Common/binary/com.sun.java.jdk.win32.x86_1.6.0.013/jre/bin;D:\programfiles\oracle11g\adminstrator\product\11.2.0\dbhome_1\bin;C:\Program Files\AMD APP\bin\x86;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\ATI Technologies\ATI.ACE\Core-Static;C:\programfiles\mysql5.1.30\bin;C:\programfiles\svn\bin;C:\programfiles\tortoiseSVN\bin;C:\Program Files\Common Files\Thunder Network\KanKan\Codecs;C:\Program Files\Rational\common;C:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\Program Files\WPS Office\9.1.0.4468\office6;,;D:\programfiles\Java\jdk1.7.0_02\bin;C:\programfiles\hadoop4win\bin;C:\Program Files\CVSNT\;D:\programfiles\grails-2.2.1\bin;C:\Oracle\instantclient_11_2
java.specification.name=Java Platform API Specification
java.class.version=50.0
sun.management.compiler=HotSpot Client Compiler
os.version=5.1
user.home=C:\Documents and Settings\Administrator
user.timezone=
java.awt.printerjob=sun.awt.windows.WPrinterJob
file.encoding=gbk
java.specification.version=1.6
java.class.path=D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\classes;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\mysql-connector-java-5.0.8-bin.jar;C:\programfiles\myeclipse\Common\plugins\org.junit4_4.5.0.v20090824\junit.jar;C:\programfiles\myeclipse\Common\plugins\org.hamcrest.core_1.1.0.v20090501071000.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\antlr-2.7.6.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\asm-3.3.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\asm-commons-3.3.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\asm-tree-3.3.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\c3p0-0.9.1.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\com.springsource.net.sf.cglib-2.2.0.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\com.springsource.org.aopalliance-1.0.0.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\com.springsource.org.apache.commons.logging-1.1.1.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\com.springsource.org.aspectj.tools-1.6.6.RELEASE.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\commons-collections-3.1.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\commons-fileupload-1.2.2.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\commons-io-2.0.1.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\commons-lang-2.5.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\cxf-2.7.8.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\dom4j-1.6.1.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\freemarker-2.3.18.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\hibernate3.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\javassist-3.11.0.GA.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\jdom.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\jta-1.1.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\log4j.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\neethi-3.0.2.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\ognl-3.0.4.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\org.springframework.aop-3.1.0.RELEASE.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\org.springframework.asm-3.1.0.RELEASE.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\org.springframework.aspects-3.1.0.RELEASE.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\org.springframework.beans-3.1.0.RELEASE.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\org.springframework.context-3.1.0.RELEASE.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\org.springframework.context.support-3.1.0.RELEASE.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\org.springframework.core-3.1.0.RELEASE.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\org.springframework.expression-3.1.0.RELEASE.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\org.springframework.jdbc-3.1.0.RELEASE.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\org.springframework.orm-3.1.0.RELEASE.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\org.springframework.transaction-3.1.0.RELEASE.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\org.springframework.web-3.1.0.RELEASE.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\slf4j-api-1.5.8.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\slf4j-log4j12.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\stax2-api-3.1.1.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\woodstox-core-asl-4.2.0.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\wsdl4j-1.6.3.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\xmlschema-core-2.0.3.jar;D:\ProBag\ChuanZhiRuanjian\MyEclipese10\projects\trafficIllegalPunishProxy\WebRoot\WEB-INF\lib\jaxen-1.1-beta-6.jar;/C:/programfiles/myeclipse/configuration/org.eclipse.osgi/bundles/642/1/.cp/;/C:/programfiles/myeclipse/configuration/org.eclipse.osgi/bundles/640/1/.cp/;/C:/programfiles/myeclipse/configuration/org.eclipse.osgi/bundles/641/1/.cp/
user.name=Administrator
java.vm.specification.version=1.0
java.home=C:\Program Files\Java\jdk1.6.0_10\jre
sun.arch.data.model=32
user.language=zh
java.specification.vendor=Sun Microsystems Inc.
awt.toolkit=sun.awt.windows.WToolkit
java.vm.info=mixed mode, sharing
java.version=1.6.0_10
java.ext.dirs=C:\Program Files\Java\jdk1.6.0_10\jre\lib\ext;C:\WINDOWS\Sun\Java\lib\ext
sun.boot.class.path=C:\Program Files\Java\jdk1.6.0_10\jre\lib\resources.jar;C:\Program Files\Java\jdk1.6.0_10\jre\lib\rt.jar;C:\Program Files\Java\jdk1.6.0_10\jre\lib\sunrsasign.jar;C:\Program Files\Java\jdk1.6.0_10\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.6.0_10\jre\lib\jce.jar;C:\Program Files\Java\jdk1.6.0_10\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.6.0_10\jre\classes;C:\programfiles\myeclipse\Common\plugins\com.genuitec.eclipse.j2eedt.core_8.5.0.me201003231033\data\libraryset\EE_5\javaee.jar;C:\programfiles\myeclipse\Common\plugins\com.genuitec.eclipse.j2eedt.core_8.5.0.me201003231033\data\libraryset\EE_5\jsf-impl.jar;C:\programfiles\myeclipse\Common\plugins\com.genuitec.eclipse.j2eedt.core_8.5.0.me201003231033\data\libraryset\EE_5\jsf-api.jar;C:\programfiles\myeclipse\Common\plugins\com.genuitec.eclipse.j2eedt.core_8.5.0.me201003231033\data\libraryset\EE_5\jstl-1.2.jar
java.vendor=Sun Microsystems Inc.
file.separator=\
java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport.cgi
sun.io.unicode.encoding=UnicodeLittle
sun.cpu.endian=little
sun.desktop=windows
sun.cpu.isalist=pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86


常用系统参数:

path.separator=;
file.separator=\
file.encoding=gbk
line.separator=
java.vm.info=mixed mode, sharing
java.version=1.6.0_10
java.ext.dirs=C:\Program Files\Java\jdk1.6.0_10\jre\lib\ext;C:\WINDOWS\Sun\Java\lib\ext
user.country=CN


<think>好的,我现在需要回答用户关于如何在Java中获取当前系统用户账号名称的问题。用户提到了使用System.getProperty方法,但根据我的知识,System.getProperty可能无法直接获取用户名,可能需要其他方法。首先,我应该确认System.getProperty中是否有对应的属性。 根据用户提供的引用内容,引用[1]、[2]、[3]、[4]主要讨论了System.getProperty()用于获取系统属性,例如操作系统信息、用户目录、Java版本等。特别是引用[3]中的示例代码,展示了如何获取os.name、java.home等属性,但并未提到用户名的属性。用户可能误以为存在类似"user.name"的属性,但实际上需要验证这一点。 接下来,我需要回忆JavaSystem.getProperty的参数。常见的属性包括"user.name",这通常用于获取当前用户的用户名。例如,在Unix和Windows系统中,这个属性应该返回当前登录用户的名称。不过,用户提供的引用中没有明确提到这一点,需要确认是否正确。 另外,引用[2]提到了System.getenv()方法,用于获取系统环境变量,比如USERNAME(在Windows中)或USER(在Linux/macOS中)。所以,除了System.getProperty("user.name"),还可以使用System.getenv()来获取,但需要注意跨平台兼容性。 因此,正确的做法应该是建议用户使用System.getProperty("user.name"),因为这是Java标准库中定义的属性,跨平台有效。同时,可以补充说明使用System.getenv()的方法,但指出不同系统环境变量名称可能不同,可能存在平台差异。 用户可能遇到的问题包括:属性名称拼写错误,或者在某些环境中该属性未被正确设置。需要提醒用户处理可能的SecurityManager权限问题,尽管在大多数应用环境中这不会成为障碍。 总结回答步骤: 1. 确认System.getProperty("user.name")是否可行。 2. 对比System.getenv()的方法,指出不同平台的变量名差异。 3. 提供示例代码,展示两种方法。 4. 提醒注意事项,如权限和跨平台问题。 需要确保回答准确,引用正确的信息,并参考用户提供的引用内容,尽管这些引用中没有直接提到"user.name",但可以结合标准Java知识进行解答。</think>在Java中获取当前系统用户账号名称,可以通过以下两种方法实现: ### 方法一:使用System.getProperty() 通过标准系统属性`user.name`直接获取: ```java String username = System.getProperty("user.name"); System.out.println("当前用户名:" + username); // 示例输出当前用户名:john_doe ``` 这是Java标准库提供的方式,支持跨平台使用[^3][^4]。 ### 方法二:使用System.getenv() 通过环境变量获取(需注意平台差异): ```java // Windows系统 String winUser = System.getenv("USERNAME"); // Linux/macOS系统 String linuxUser = System.getenv("USER"); ``` 此方法需要根据操作系统类型选择对应的环境变量名称,可能存在平台适配问题[^2]。 ### 对比说明 | 方法 | 优点 | 缺点 | |---------------------|-----------------------|-----------------------| | `System.getProperty`| 跨平台统一 | 无法自定义格式 | | `System.getenv` | 可获取更多系统信息 | 需要处理平台差异 | ### 注意事项 1. 权限问题:在启用SecurityManager的环境下可能需要特别权限 2. 容器环境:在Docker等容器中可能返回容器内的用户信息 3. 格式规范:返回值为字符串类型,不包含域名/主机名前缀
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值