您好,欢迎访问一九零五行业门户网

通过java代码动态设定Linux系统的环境变量

今天说的是通过java代码动态设定linux系统的环境变量.老实说我这两天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系统的环境变量。
其它类似信息

推荐信息