In Java, you can use System.getProperties() to get all the system properties.
Properties properties = System.getProperties();
properties.forEach((k, v) -> System.out.println(k + ":" + v)); // Java 8
1. Example
DisplayApp.java
package com.favtuts.display;
import java.util.Map;
import java.util.Properties;
public class DisplayApp {
public static void main(String[] args) {
Properties properties = System.getProperties();
// Java 8
properties.forEach((k, v) -> System.out.println(k + ":" + v));
// Classic way to loop a map
// for (Map.Entry<Object, Object> entry : properties.entrySet()) {
// System.out.println(entry.getKey() + " : " + entry.getValue());
// }
// No good, output is truncated, long lines end with ...
// properties.list(System.out);
}
}
Output
sun.desktop:gnome
awt.toolkit:sun.awt.X11.XToolkit
java.specification.version:11
sun.cpu.isalist:
sun.jnu.encoding:UTF-8
java.class.path:/home/tvt/favtuts/java-core-tutorials-examples/java-misc/target/classes;
java.vm.vendor:Private Build
sun.arch.data.model:64
java.vendor.url:Unknown
user.timezone:
os.name:Linux
java.vm.specification.version:11
sun.java.launcher:SUN_STANDARD
user.country:US
sun.boot.library.path:/usr/lib/jvm/java-11-openjdk-amd64/lib
sun.java.command:com.favtuts.display.DisplayApp
jdk.debug:release
sun.cpu.endian:little
user.home:/home/tvt
user.language:en
java.specification.vendor:Oracle Corporation
java.version.date:2022-04-19
java.home:/usr/lib/jvm/java-11-openjdk-amd64
file.separator:/
java.vm.compressedOopsMode:Zero based
line.separator:
java.specification.name:Java Platform API Specification
java.vm.specification.vendor:Oracle Corporation
java.awt.graphicsenv:sun.awt.X11GraphicsEnvironment
sun.management.compiler:HotSpot 64-Bit Tiered Compilers
java.runtime.version:11.0.15+10-Ubuntu-0ubuntu0.20.04.1
user.name:tvt
path.separator::
os.version:5.13.0-40-generic
java.runtime.name:OpenJDK Runtime Environment
file.encoding:UTF-8
java.vm.name:OpenJDK 64-Bit Server VM
java.vendor.url.bug:Unknown
java.io.tmpdir:/tmp
java.version:11.0.15
user.dir:/home/tvt/favtuts/java-core-tutorials-examples
os.arch:amd64
java.vm.specification.name:Java Virtual Machine Specification
java.awt.printerjob:sun.print.PSPrinterJob
sun.os.patch.level:unknown
java.library.path:/usr/java/packages/lib:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib
java.vm.info:mixed mode, sharing
java.vendor:Private Build
java.vm.version:11.0.15+10-Ubuntu-0ubuntu0.20.04.1
sun.io.unicode.encoding:UnicodeLittle
java.class.version:55.0
2. Sorting
Example to display all the system properties in Alphabetical order.
DisplayApp.java
package com.favtuts.display;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Properties;
import java.util.stream.Collectors;
public class DisplayApp {
public static void main(String[] args) {
Properties properties = System.getProperties();
// Thanks Java 8
LinkedHashMap<String, String> collect = properties.entrySet().stream()
.collect(Collectors.toMap(k -> (String) k.getKey(), e -> (String) e.getValue()))
.entrySet().stream().sorted(Map.Entry.comparingByKey())
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue,
(oldValue, newValue) -> oldValue, LinkedHashMap::new));
collect.forEach((k, v) -> System.out.println(k + ":" + v));
}
}
Output
awt.toolkit:sun.awt.X11.XToolkit
file.encoding:UTF-8
file.separator:/
java.awt.graphicsenv:sun.awt.X11GraphicsEnvironment
java.awt.printerjob:sun.print.PSPrinterJob
java.class.path:/home/tvt/favtuts/java-core-tutorials-examples/java-misc/target/classes
java.class.version:55.0
java.home:/usr/lib/jvm/java-11-openjdk-amd64
java.io.tmpdir:/tmp
java.library.path:/usr/java/packages/lib:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib
java.runtime.name:OpenJDK Runtime Environment
java.runtime.version:11.0.15+10-Ubuntu-0ubuntu0.20.04.1
java.specification.name:Java Platform API Specification
java.specification.vendor:Oracle Corporation
java.specification.version:11
java.vendor:Private Build
java.vendor.url:Unknown
java.vendor.url.bug:Unknown
java.version:11.0.15
java.version.date:2022-04-19
java.vm.compressedOopsMode:Zero based
java.vm.info:mixed mode, sharing
java.vm.name:OpenJDK 64-Bit Server VM
java.vm.specification.name:Java Virtual Machine Specification
java.vm.specification.vendor:Oracle Corporation
java.vm.specification.version:11
java.vm.vendor:Private Build
java.vm.version:11.0.15+10-Ubuntu-0ubuntu0.20.04.1
jdk.debug:release
line.separator:
os.arch:amd64
os.name:Linux
os.version:5.13.0-40-generic
path.separator::
sun.arch.data.model:64
sun.boot.library.path:/usr/lib/jvm/java-11-openjdk-amd64/lib
sun.cpu.endian:little
sun.cpu.isalist:
sun.desktop:gnome
sun.io.unicode.encoding:UnicodeLittle
sun.java.command:com.favtuts.display.DisplayApp
sun.java.launcher:SUN_STANDARD
sun.jnu.encoding:UTF-8
sun.management.compiler:HotSpot 64-Bit Tiered Compilers
sun.os.patch.level:unknown
user.country:US
user.dir:/home/tvt/favtuts/java-core-tutorials-examples
user.home:/home/tvt
user.language:en
user.name:tvt
user.timezone: