如何在Java 9的JShell中获取系统属性?

如何在Java 9的JShell中获取系统属性?

JShell is a REPL (Read-Evaluate-Print-Loop) tool used to execute simple statements, evaluates it, and displays the result without a main() method. We can start it by simply type "jshell" in command-line prompt.

We need to get the system properties by using System.getProperty() and System.getProperties() methods.

In the below code snippet, we can able to display the system properties in the JShell tool by using static method property() of System class.

Snippet-1

<strong>jshell> System.getProperty("java.class.path")
</strong><strong>$1 ==> </strong><strong>"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;.;"</strong>

在下面的代码片段中,我们必须使用扩展了Hashtable的“properties”对象。因此,可以通过在JShell工具中使用“System.getProperties().forEach((k, v)”来列出所有属性作为键/值.

Snippet-2

<strong>jshell> System.getProperties().forEach((k, v) -> { System.out.printf("%s: %s\n", k, v); })</strong>
<strong>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</strong>

以上就是如何在Java 9的JShell中获取系统属性?的详细内容,更多请关注其它相关文章!