B4J Code Snippet Access to System Settings

SubName: None

Description: Get access to system settings

B4X:
Dim JO As JavaObject
    JO.InitializeStatic("java.lang.System")
   Log(JO.RunMethod("getProperty",Array As Object("file.separator")))

Available settings are:

java.version -------------------- Java Runtime Environment version
java.vendor --------------------- Java Runtime Environment vendor
java.vendor.url ----------------- Java vendor URL
java.home ----------------------- Java installation directory
java.vm.specification.version --- Java Virtual Machine specification version
java.vm.specification.vendor ---- Java Virtual Machine specification vendor
java.vm.specification.name ------ Java Virtual Machine specification name
java.vm.version ----------------- Java Virtual Machine implementation version
java.vm.vendor ------------------ Java Virtual Machine implementation vendor
java.vm.name -------------------- Java Virtual Machine implementation name
java.specification.version ------ Java Runtime Environment specification version
java.specification.vendor ------- Java Runtime Environment specification vendor
java.specification.name --------- Java Runtime Environment specification name
java.class.version -------------- Java class format version number
java.class.path ----------------- Java class path
java.library.path --------------- List of paths to search when loading libraries
java.io.tmpdir ------------------ Default temp file path
java.compiler ------------------- Name of JIT compiler to use
java.ext.dirs ------------------- Path of extension directory or directories
os.name ------------------------- Operating system name
os.arch ------------------------- Operating system architecture
os.version ---------------------- Operating system version
file.separator ------------------ File separator ("/" on UNIX)
path.separator ------------------ Path separator (":" on UNIX)
line.separator ------------------ Line separator ("\n" on UNIX)
user.name ----------------------- User's account name
user.home ----------------------- User's home directory
user.dir ------------------------ User's current working directory



Depends On: JavaObject

Tags: Java System Settings
 
Last edited:

LucaMs

Expert
Licensed User
Longtime User

rwblinn

Well-Known Member
Licensed User
Longtime User
Try Sub below to get all system properties. Requires the JavaObject Library

B4X:
Sub getAllSystemProperties
  ' Declare the javaobject and init the class
  Dim JO As JavaObject
  JO.InitializeStatic("java.lang.System")
  ' Get the system properties into one object
  Dim objProperties As Object = JO.RunMethod("getProperties", Null)
  ' Convert the properties object into a list of strings
  Dim s As String = objProperties
  s.SubString(1)
  Dim l As List
  l = Regex.Split(", ", s)
  l.Sort(True)
  ' List the properties
  For i = 0 To l.Size - 1
      Log(l.Get(i))
  Next
End Sub
 

LucaMs

Expert
Licensed User
Longtime User
Thank you, Rob, I will try it.

(I was just trying to get something similar for the environment variables, through this -inline- java code:
B4X:
import java.util.Map;
Public class EnvMap {
    Public static void main (String[] Args) {
        Map<String, String> env = System.getenv();
        For (String envName : env.keySet()) {
            System.out.format("%s=%s%n",
                              envName,
                              env.get(envName));
        }
    }
}

obviously getting errors, as always :D)



[Uhm... looking better my code... I do not need the class EnvMap!]
 
Last edited:
Top