如何在java中获得windows和linus的环境变量;
  并且有没有什么方法往环境变量去写入键值
         (不是自己手动配置,例如说像注册进注册表那样可以执行文件写进注册表那样)

解决方案 »

  1.   

    System.getPropertys()
    System.getProperty(key)
    System.setProperty(key, value)
      

  2.   


    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;public class CMDS
    {
        public static void main(String[] args) throws IOException
        {
            //这里是DOS命令,你想查啥就用啥命令,至于命令得自己查了~~
            String cmdStr = "cmd.exe /c path";        Process process = Runtime.getRuntime().exec(cmdStr);
            BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
            String ret = null;
            while ((ret = reader.readLine()) != null)
            {
                System.out.println(ret);
            }    }}
      

  3.   

    得到环境变量,可以用一楼的方法
    但写环境变量,似乎比较有难度,windows中需要改变注册表,linux中需要改变配置文件,不知道怎么操作
      

  4.   

    有没有方法是从windows或者linus中设置的环境变量(例如系统环境或者用户环境)中去读取呢?
       而不是在代码中直接写?
    偶是新手,我的无知还请大家包含!~
     
      

  5.   

    在windows中我现在就是注册进注册表的,但现在不用了,有没有办法在俩个系统中通用呢一楼的得到的都是java内部的丫!~~我想得到的是系统里的环境变量!~
      

  6.   


    哥们,谢谢了,但好像这个路径是自己写在程序里丫!~
    我对cmd命令没弄过,要怎么样才能得到windows中的配置的环境变量呢?
    如果对linux也知道的话,也告知下吧!~
      

  7.   

    读系统的环境变量  想得到通用方法是不可能.文件结构不同,命令也不同  怎么可能有通用方法?可以 写一个XML配置做为开关.换系统的时候做个XML修改,程序里写2个分支
      

  8.   


    写在xml中那岂不是把路径写死了!?
      

  9.   

    没有写死啊windows下 就是 cmd.exe /c path
    cme.exe 是打开命令窗口    path是命令
    你可以把path 替换成 任何命令     比如shutdown -h          就关机了....
      

  10.   


    哥们,谢谢了   
    那在linux下要怎么样得呢!~
      

  11.   


    恩  明白了,那在linux下怎么得环境变量呢!~
    windows中知道怎么弄了,但linux我没有用过,不知道用什么命令
      

  12.   

    你把 path 换成  set 就是所有的linux下好象要查看某个文件,查一下看看String[] cmds = { "sh", "-c", "cat \\etc\\profile | awk '{ if($1==\"PATH:\") {print $2,$3,$4,$5}}'" };
     Runtime.getRuntime().exec(cmds);
     Process process = Runtime.getRuntime().exec(cmds);
    BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
      
      

  13.   

    export 命令好象可以 你试下看
    String[] cmds = { "sh", "-c", "export | awk '{ if($1==\"declare\") {print $3}}'" }; 
    Runtime.getRuntime().exec(cmds); 
    Process process = Runtime.getRuntime().exec(cmds); 
    BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));