﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-学无止境-随笔分类-JAVA </title><link>http://www.blogjava.net/lucia/category/3312.html</link><description /><language>zh-cn</language><lastBuildDate>Thu, 01 Mar 2007 00:02:20 GMT</lastBuildDate><pubDate>Thu, 01 Mar 2007 00:02:20 GMT</pubDate><ttl>60</ttl><item><title>Access user defined environment variable inside the java program with jdk1.4</title><link>http://www.blogjava.net/lucia/archive/2005/09/14/12951.html</link><dc:creator>lucia</dc:creator><author>lucia</author><pubDate>Tue, 13 Sep 2005 18:36:00 GMT</pubDate><guid>http://www.blogjava.net/lucia/archive/2005/09/14/12951.html</guid><wfw:comment>http://www.blogjava.net/lucia/comments/12951.html</wfw:comment><comments>http://www.blogjava.net/lucia/archive/2005/09/14/12951.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lucia/comments/commentRss/12951.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lucia/services/trackbacks/12951.html</trackback:ping><description><![CDATA[In JDK 1.4 System.getenv() is deprecated. (In JDK 1.5 it is
un-deprected again.) The getProperty method is now the correspoding
method to get the variables. For example:
System.getProperty("java.class.path",""). But it doesn't work for user
defined environment variable. This problem can be solved by using the
following code: <br>
import java.io.BufferedReader;<br>
import java.io.InputStreamReader;<br>
<br>
/**<br>
 * Environment class simulates the System.getenv() method which is deprecated<br>
 * on java 1.4.2<br>
 *<br>
 *  @author v-josp<br>
 *<br>
 */<br>
public class TestRoot <br>
{<br>
	//result of all enviornment variables <br>
	private static BufferedReader commandResult; <br>
	<br>
	static<br>
	{		  	    <br>
		String cmd = null;<br>
		String os = null;<br>
		<br>
		//getting the OS name<br>
		os = System.getProperty("os.name").toLowerCase();<br>
		<br>
		// according to OS set the command to execute<br>
		if(os.startsWith("windows"))<br>
		{<br>
			cmd = "cmd /c SET";<br>
		}<br>
		else <br>
		{<br>
			cmd="env";<br>
		}<br>
		<br>
		try <br>
		{<br>
			//execute the command and get the result in the form of InputStream<br>
			Process p  = Runtime.getRuntime().exec(cmd);<br>
			<br>
			//parse the InputStream data <br>
			InputStreamReader isr = new InputStreamReader(p.getInputStream());<br>
			commandResult= new BufferedReader(isr);	  <br>
		}<br>
		catch (Exception e) <br>
		{<br>
			System.out.println("OSEnvironment.class error: " + cmd + ":" + e);<br>
		} <br>
	}<br>
	<br>
	/**<br>
	 * This method is used to get the path of the given enviornment variable. This <br>
	 * method tries to simulates the System.getenv() which is deprecated on java 1.4.2<br>
	 * <br>
	 * @param String - name of the environment variable <br>
	 * @param String - default value <br>
	 * @return<br>
	 */	  <br>
	public static String getenv(String envName,String defaultValue)<br>
	{<br>
		String line = null;<br>
		try <br>
		{<br>
			while ((line = commandResult.readLine()) != null)<br>
			{<br>
				if(line.indexOf(envName)&gt;-1)<br>
				{<br>
					return line.substring(line.indexOf(envName)+envName.length()+1);<br>
				}              <br>
			}<br>
			return defaultValue;<br>
		} <br>
		catch (Exception e) <br>
		{<br>
			return defaultValue;<br>
		}<br>
	}<br>
	<br>
	public static void main(String args[])<br>
	{<br>
		System.out.println(TestRoot.getenv("CLASSPATH",""));<br>
	}<br>
}<br>
<br>
Output<br>
_____<br>
F:\software\javaws-1_2-dev\jnlp.jar;<br>
<img src ="http://www.blogjava.net/lucia/aggbug/12951.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lucia/" target="_blank">lucia</a> 2005-09-14 02:36 <a href="http://www.blogjava.net/lucia/archive/2005/09/14/12951.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>How to get the the currect path where program runs?</title><link>http://www.blogjava.net/lucia/archive/2005/09/10/12637.html</link><dc:creator>lucia</dc:creator><author>lucia</author><pubDate>Sat, 10 Sep 2005 14:12:00 GMT</pubDate><guid>http://www.blogjava.net/lucia/archive/2005/09/10/12637.html</guid><wfw:comment>http://www.blogjava.net/lucia/comments/12637.html</wfw:comment><comments>http://www.blogjava.net/lucia/archive/2005/09/10/12637.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lucia/comments/commentRss/12637.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lucia/services/trackbacks/12637.html</trackback:ping><description><![CDATA[<pre><font style="font-family: arial; color: rgb(0, 0, 0);" color="navy" size="3">try {<br>	File currDir = new File (".");<br>	System.out.println("Dir: " + currDir.getCanonicalPath());<br>}<br>catch (IOException ex){<br> //<br>}</font><font color="navy"><br><br></font></pre>
<img src ="http://www.blogjava.net/lucia/aggbug/12637.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lucia/" target="_blank">lucia</a> 2005-09-10 22:12 <a href="http://www.blogjava.net/lucia/archive/2005/09/10/12637.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>