ホームページ  >  記事  >  php教程  >  Javaコードを通じてLinuxシステムの環境変数を動的に設定する

Javaコードを通じてLinuxシステムの環境変数を動的に設定する

高洛峰
高洛峰オリジナル
2016-12-17 13:41:041722ブラウズ

今日話しているのは、Java コードを通じて Linux システムの環境変数を動的に設定することです。正直に言うと、ここ 2 日間、Google で長い間検索していましたが、その方法を見つけることができませんでした。実際にはあまり役に立たないかもしれませんが、長い間探した結果、解決したので記録しておきます

Java コード

import java.io.BufferedInputStream;  
import java.io.File;  
import java.io.IOException;  
import java.io.InputStream;  
  
public class ExecuteCmd {  
  
    /** 
     * @param args 
     */  
    public static void main(String[] args) {  
        String[] commonds = {"sh","-c","export JAVA_HOME=/usr/java/jdk;echo $JAVA_HOME"};  
        RunSystemCommand(commonds, null);  
    }  
  
    public static void RunSystemCommand(String[] command, File file) {  
        if (command != null && !command.equals("")) {  
            try {  
                Process ps = null;  
                if (file != null)  
                    ps = Runtime.getRuntime().exec(command, null, file);  
                else  
                    ps = Runtime.getRuntime().exec(command);  
                String message = loadStream(ps.getInputStream());  
                String errorMeg = loadStream(ps.getErrorStream());  
                System.out.println(message);  
                System.out.println("-------");  
                System.out.println(errorMeg);  
                try {  
                    ps.waitFor();  
                } catch (InterruptedException e) {  
                    e.printStackTrace();  
                }  
            } catch (IOException e) {  
                e.printStackTrace();  
            }  
        }  
    }  
  
    private static String loadStream(InputStream in) throws IOException {  
        int ptr = 0;  
        in = new BufferedInputStream(in);  
        StringBuffer buffer = new StringBuffer();  
        while ((ptr = in.read()) != -1) {  
            buffer.append((char) ptr);  
        }  
        return new String(buffer.toString().getBytes("ISO-8859-1"), "GBK");  
    }  
}

実際、最も重要な文はこれです
String[] commonds = {"sh","-c","export JAVA_HOME=/usr/java/jdk;echo $JAVA_HOME"};
このコマンドの書き方は、Google で見つけることができます。たとえば、
String tmp_run_cmd = "sh -c 'export JAVA_HOME=/usr/java/jdk;echo $JAVA_HOME'" ; これは不可能です。


Java コードを使用して Linux システムの環境変数を動的に設定することに関するその他の記事については、PHP 中国語 Web サイトに注目してください。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。