如何在 Java 9 中获取 JShell 中的系统属性?\n
JShell 是一个REPL(Read-Evaluate-Print-Loop)工具,用于执行简单的语句、评估它并显示结果,而不需要 main() 方法。我们只需在命令行提示符中键入“jshell”即可启动它。
我们需要使用System.getProperty()和System.getProperties()方法来获取系统属性。
在下面的代码段中,我们可以通过使用System 类的static 方法property()来显示 JShell 工具中的系统属性。
代码段 1
jshell> System.getProperty("java.class.path") $1 ==> "C:\Program Files\Java\jdk-9.0.4\lib;C:\json-jars\json.jar;.;C:\json-jars\json-simple.jar;.;C:\json-jars\gson.jar;.;C:\json-jars\commons-io.jar;.;C:\json-jars\jackson-core.jar;.;C:\json-jars\jackson-databind.jar;.;C:\json-jars\jackson-annotations.jar;.;C:\json jars\flexjson.jar;.;C:\json-jars\jackson-dataformat-xml.jar;.;C:\json-jars\stax2-api.jar;.;C:\json-jars\jackson-dataformat-csv.jar;.;C:\json-jars\javax.json.jar;.;C:\json jars\javax.json-api.jar;.;C:\json-jars\jackson-module-jsonSchema.jar;.;C:\json-jars\json-lib.jar;.;C:\json-jars\commons-lang.jar;.;C:\json-jars\commons-logging.jar;.;"
在下面的代码段中,我们必须使用扩展 Hashtable 的“properties”对象。因此,可以使用“System.getProperties().forEach((k, v)”在 JShell 工具中将所有属性列为键/值对。
代码段 2
jshell> System.getProperties().forEach((k, v) -> { System.out.printf("%s: %s\n", k, v); }) sun.desktop: windows awt.toolkit: sun.awt.windows.WToolkit java.specification.version: 9 file.encoding.pkg: sun.io sun.cpu.isalist: amd64 sun.jnu.encoding: Cp1252 java.class.path: C:\Program Files\Java\jdk-9.0.4\lib;C:\json jars\json.jar;.;C:\json jars\json-simple.jar;.;C:\json jars\gson.jar;.;C:\json jars\commons-io.jar;.;C:\json jars\jackson-core.jar;.;C:\json jars\jackson-databind.jar;.;C:\json jars\jackson-annotations.jar;.;C:\json jars\flexjson.jar;.;C:\json jars\jackson-dataformat-xml.jar;.;C:\json jars\stax2-api.jar;.;C:\json jars\jackson-dataformat-csv.jar;.;C:\json jars\javax.json.jar;.;C:\json jars\javax.json-api.jar;.;C:\json jars\jackson-module-jsonSchema.jar;.;C:\json jars\json-lib.jar;.;C:\json jars\commons-lang.jar;.;C:\json jars\commons-logging.jar;.; java.vm.vendor: Oracle Corporation sun.arch.data.model: 64 user.variant: java.vendor.url: http://java.oracle.com/ user.timezone: os.name: Windows 8.1 java.vm.specification.version: 9 sun.java.launcher: SUN_STANDARD user.country: US sun.boot.library.path: C:\Program Files\Java\jdk-9.0.4\bin sun.java.command: jdk.jshell.execution.RemoteExecutionControl 54984 jdk.debug: release sun.cpu.endian: little user.home: C:\Users\User user.language: en java.specification.vendor: Oracle Corporation java.home: C:\Program Files\Java\jdk-9.0.4 file.separator: \ java.vm.compressedOopsMode: 32-bit line.separator: java.vm.specification.vendor: Oracle Corporation java.specification.name: Java Platform API Specification java.awt.graphicsenv: sun.awt.Win32GraphicsEnvironment user.script: sun.management.compiler: HotSpot 64-Bit Tiered Compilers java.runtime.version: 9.0.4+11 user.name: User path.separator: ; os.version: 6.3 java.runtime.name: Java(TM) SE Runtime Environment file.encoding: Cp1252 java.vm.name: Java HotSpot(TM) 64-Bit Server VM java.vendor.url.bug: http://bugreport.java.com/bugreport/ java.io.tmpdir: C:\Users\User\AppData\Local\Temp\ java.version: 9.0.4 user.dir: C:\Users\User\Desktop\Java 9 QNA os.arch: amd64 java.vm.specification.name: Java Virtual Machine Specification java.awt.printerjob: sun.awt.windows.WPrinterJob sun.os.patch.level: java.library.path: C:\Program Files\Java\jdk-9.0.4\bin;C:\Windows\Sun\Java\bin;C :\Windows\system32;C:\Windows;C:\Program Files\Java\jdk-9.0.4\bin;.;;. java.vm.info: mixed mode java.vendor: Oracle Corporation java.vm.version: 9.0.4+11 sun.io.unicode.encoding: UnicodeLittle java.class.version: 53.0
广告