Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

วิธีดู System Properties ใน JShell Java 9

JShell เป็นเครื่องมือ REPL (Read-Evaluate-Print-Loop) ที่ใช้รันคำสั่ง Java แบบง่ายๆ ประเมินผลและแสดงผลทันทีโดยไม่ต้องมี main() method สามารถเริ่มใช้งานได้โดยพิมพ์ jshell ใน command prompt

สามารถดู System Properties ได้โดยใช้เมธอด System.getProperty() และ System.getProperties()

ตัวอย่างที่ 1: ดู Property เดียว

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;."

ตัวอย่างที่ 2: ดู Properties ทั้งหมด

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;...
java.vm.vendor: Oracle Corporation
sun.arch.data.model: 64
user.variant: 
java.vendor.url: https://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: https://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

คำอธิบาย

  • System.getProperty(key) - ดึงค่า property ตาม key ที่ระบุ
  • System.getProperties() - คืนค่า Properties object (extends Hashtable) ที่เก็บ key/value pairs ทั้งหมด
  • ใช้ forEach กับ lambda expression เพื่อวนลูปพิมพ์ทุกคู่
  • Properties สำคัญ ได้แก่ java.version, java.home, os.name, user.dir, file.encoding เป็นต้น