JAVA og environments

Tags:    java

Er der nogen der kan forklare mig hvordan jeg kan hente værdierne af environments fra systemet.

Det drejer sig om environments som jeg selv definere, og også godt ville kunne bruge i JAVA programmer, ligesom jeg bruger dem i de REXX og kornshell programmer jeg laver.
[Redigeret d. 16/02-03 17:57:05 af Per Nielsen]



Det er ikke pæn programmering, men følgendene kodestump virker:

Fold kodeboks ind/udKode 

Men

Håber det hjælper...



Takker for svaret,jeg vil prøve det af så hurtigt jeg kan.



Jeg har nu prøvet nedenstående programstrump af.

Da jeg køre med en ældre udgave af java ( 1.1.8) virkede den ikke.
setProperty() metoden findes ikke i denne version.

Efter rettelse af et par syntaks fejl, samt kigget lidt nærmere på hvad der så kunne bruges fandt
jeg en løsning der således virkede i version 1.1.8

Nednestående kode er afprøvet og virker.

Eksemplet har også givet mig løsning på andre problem stilling jeg har haft.

Mange tak for hjælpen.

<KODE>
import java.io.*;
import java.util.*;

public class ReadEnv
{
public static Properties getEnvVars() throws Throwable
{
Process p = null;
Properties envVars = new Properties();
Runtime r = Runtime.getRuntime();
String OS = System.getProperty("os.name").toLowerCase();

if (OS.indexOf("windows 9") > -1)
{
p = r.exec( "command.com /c set" );
}
else if ( (OS.indexOf("nt") > -1)
|| (OS.indexOf("windows 2000") > -1)
|| (OS.indexOf("windows xp") > -1) )
{
p = r.exec( "cmd.exe /c set" );
}
else
{
// ellers maa vi gaa ud fra det er Linux
p = r.exec( "env" );
}
envVars.load( p.getInputStream() );

return envVars;
}


public static void main(String args[])
{
try
{
Properties p = ReadEnv.getEnvVars();
System.out.println("TEMP er : " +
p.getProperty("TEMP"));
}
catch (Throwable e)
{
e.printStackTrace();
}
}
}

</KODE>


Hilsen
Per Nielsen



t