﻿<?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-Open Java Project-随笔分类-Tiger系列</title><link>http://www.blogjava.net/nelson_tu/category/821.html</link><description>Keep it simple, Stupid, Less is more</description><language>zh-cn</language><lastBuildDate>Wed, 28 Feb 2007 03:35:01 GMT</lastBuildDate><pubDate>Wed, 28 Feb 2007 03:35:01 GMT</pubDate><ttl>60</ttl><item><title>Tiger系列五：访问环境变量和调用子进程</title><link>http://www.blogjava.net/nelson_tu/archive/2005/03/21/2294.html</link><dc:creator>nelson_tu</dc:creator><author>nelson_tu</author><pubDate>Mon, 21 Mar 2005 14:04:00 GMT</pubDate><guid>http://www.blogjava.net/nelson_tu/archive/2005/03/21/2294.html</guid><wfw:comment>http://www.blogjava.net/nelson_tu/comments/2294.html</wfw:comment><comments>http://www.blogjava.net/nelson_tu/archive/2005/03/21/2294.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/nelson_tu/comments/commentRss/2294.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nelson_tu/services/trackbacks/2294.html</trackback:ping><description><![CDATA[<P class=MsoNormal style="MARGIN: 0mm 0mm 0pt; mso-outline-level: 1"><SPAN lang=EN-US style="mso-fareast-font-family: SimSun; mso-fareast-language: ZH-CN"><FONT face=Century>System.getenv()</FONT></SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN; mso-ascii-font-family: Century; mso-hansi-font-family: Century">方法可以方便的访问平台的环境变量，但从一开始就遭到反对而被抛弃，因为该方法违背了“编写一次，随处运行”的原则。在</SPAN><SPAN lang=EN-US style="mso-fareast-language: ZH-CN"><FONT face=Century>Tiger</FONT></SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN; mso-ascii-font-family: Century; mso-hansi-font-family: Century">版本中，又可以使用该方法了。</SPAN><SPAN lang=EN-US style="mso-fareast-font-family: SimSun; mso-fareast-language: ZH-CN"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0mm 0mm 0pt; mso-outline-level: 1"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN; mso-ascii-font-family: Century; mso-hansi-font-family: Century">访问平台专有信息并不是一件容易的事。虽然可以使用</SPAN><FONT face=Century><SPAN lang=ZH-CN style="mso-fareast-font-family: SimSun; mso-fareast-language: ZH-CN"> </SPAN><SPAN lang=EN-US style="mso-fareast-font-family: SimSun; mso-fareast-language: ZH-CN">Runtime.exec() </SPAN></FONT><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN; mso-ascii-font-family: Century; mso-hansi-font-family: Century">创建进程，但由于平台之间的差异，构造参数集常常令人头痛不已。</SPAN><SPAN lang=EN-US style="mso-fareast-language: ZH-CN"><FONT face=Century>Tiger</FONT></SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN; mso-ascii-font-family: Century; mso-hansi-font-family: Century">提供了新的</SPAN><SPAN lang=EN-US style="mso-fareast-font-family: SimSun; mso-fareast-language: ZH-CN"><FONT face=Century>ProcessBuilder</FONT></SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN; mso-ascii-font-family: Century; mso-hansi-font-family: Century">类，使得访问平台专有信息更加容易。</SPAN><SPAN lang=EN-US style="mso-fareast-font-family: SimSun; mso-fareast-language: ZH-CN"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0mm 0mm 0pt"><SPAN lang=EN-US style="mso-fareast-language: ZH-CN"><FONT face=Century>&nbsp;<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0mm 0mm 0pt"><SPAN lang=EN-US style="mso-fareast-language: ZH-CN"><FONT face=Century>1</FONT></SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: 'ＭＳ 明朝'; mso-fareast-language: ZH-CN; mso-ascii-font-family: Century; mso-hansi-font-family: Century">、</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN; mso-ascii-font-family: Century; mso-hansi-font-family: Century">访问环境变量</SPAN><SPAN lang=EN-US style="mso-fareast-font-family: SimSun; mso-fareast-language: ZH-CN"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0mm 0mm 0pt"><SPAN lang=EN-US style="mso-fareast-font-family: SimSun; mso-fareast-language: ZH-CN"><FONT face=Century>System.getenv()</FONT></SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN; mso-ascii-font-family: Century; mso-hansi-font-family: Century">有两种方法：</SPAN><SPAN lang=EN-US style="mso-fareast-font-family: SimSun; mso-fareast-language: ZH-CN"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0mm 0mm 0pt"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN">（</SPAN><SPAN lang=EN-US style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN">1</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN">）指定环境变量名来获得环境变量值，如下面的例子：</SPAN><SPAN lang=EN-US style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><o:p></o:p></SPAN></P>
<DIV style="BORDER-RIGHT: #3c78b5 0.75pt dashed; PADDING-RIGHT: 8pt; BORDER-TOP: #3c78b5 0.75pt dashed; PADDING-LEFT: 8pt; BACKGROUND: #f0f0f0; PADDING-BOTTOM: 0mm; BORDER-LEFT: #3c78b5 0.75pt dashed; PADDING-TOP: 0mm; BORDER-BOTTOM: #3c78b5 0.75pt dashed"><PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; MARGIN: 7.5pt 11.25pt 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none; mso-line-height-alt: 9.75pt; mso-border-alt: dashed #3C78B5 .75pt; mso-padding-alt: 0mm 8.0pt 0mm 8.0pt"><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><FONT size=2>public class EnvTest {<o:p></o:p></FONT></SPAN></PRE><PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; MARGIN: 7.5pt 11.25pt 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none; mso-line-height-alt: 9.75pt; mso-border-alt: dashed #3C78B5 .75pt; mso-padding-alt: 0mm 8.0pt 0mm 8.0pt"><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><FONT size=2><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>public static void main(String[] args) {<o:p></o:p></FONT></SPAN></PRE><PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; MARGIN: 7.5pt 11.25pt 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none; mso-line-height-alt: 9.75pt; mso-border-alt: dashed #3C78B5 .75pt; mso-padding-alt: 0mm 8.0pt 0mm 8.0pt"><FONT size=2><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>System.out.println(</SPAN><SPAN lang=EN-US style="COLOR: blue; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN">System.getenv("JAVA_HOME")</SPAN><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN">);<o:p></o:p></SPAN></FONT></PRE><PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; MARGIN: 7.5pt 11.25pt 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none; mso-line-height-alt: 9.75pt; mso-border-alt: dashed #3C78B5 .75pt; mso-padding-alt: 0mm 8.0pt 0mm 8.0pt"><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><FONT size=2><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>}<o:p></o:p></FONT></SPAN></PRE><PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; MARGIN: 7.5pt 11.25pt 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none; mso-line-height-alt: 9.75pt; mso-border-alt: dashed #3C78B5 .75pt; mso-padding-alt: 0mm 8.0pt 0mm 8.0pt"><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><FONT size=2>}<o:p></o:p></FONT></SPAN></PRE></DIV>
<P class=MsoNormal style="MARGIN: 0mm 0mm 0pt"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN; mso-ascii-font-family: Century; mso-hansi-font-family: Century">输出的结果可能是：</SPAN><SPAN lang=EN-US style="mso-fareast-font-family: SimSun; mso-fareast-language: ZH-CN"><o:p></o:p></SPAN></P>
<DIV style="BORDER-RIGHT: #3c78b5 0.75pt dashed; PADDING-RIGHT: 8pt; BORDER-TOP: #3c78b5 0.75pt dashed; PADDING-LEFT: 8pt; BACKGROUND: #f0f0f0; PADDING-BOTTOM: 0mm; BORDER-LEFT: #3c78b5 0.75pt dashed; PADDING-TOP: 0mm; BORDER-BOTTOM: #3c78b5 0.75pt dashed"><PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; MARGIN: 7.5pt 11.25pt 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none; mso-line-height-alt: 9.75pt; mso-border-alt: dashed #3C78B5 .75pt; mso-padding-alt: 0mm 8.0pt 0mm 8.0pt"><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><FONT size=2>E:\develop\j2sdk1.4.2_05<o:p></o:p></FONT></SPAN></PRE></DIV>
<P class=MsoNormal style="MARGIN: 0mm 0mm 0pt"><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN">（</SPAN><SPAN lang=EN-US style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN">2</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN">）</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN; mso-ascii-font-family: Century; mso-hansi-font-family: Century">返回所有环境变量的</SPAN><SPAN lang=EN-US style="mso-fareast-font-family: SimSun; mso-fareast-language: ZH-CN"><FONT face=Century>Map</FONT></SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN; mso-ascii-font-family: Century; mso-hansi-font-family: Century">对象，下面的例子输出所有环境变量名和值：</SPAN><SPAN lang=EN-US style="mso-fareast-font-family: SimSun; mso-fareast-language: ZH-CN"><o:p></o:p></SPAN></P>
<DIV style="BORDER-RIGHT: #3c78b5 0.75pt dashed; PADDING-RIGHT: 8pt; BORDER-TOP: #3c78b5 0.75pt dashed; PADDING-LEFT: 8pt; BACKGROUND: #f0f0f0; PADDING-BOTTOM: 0mm; BORDER-LEFT: #3c78b5 0.75pt dashed; PADDING-TOP: 0mm; BORDER-BOTTOM: #3c78b5 0.75pt dashed"><PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; MARGIN: 7.5pt 11.25pt 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none; mso-line-height-alt: 9.75pt; mso-border-alt: dashed #3C78B5 .75pt; mso-padding-alt: 0mm 8.0pt 0mm 8.0pt"><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><FONT size=2>public class EnvDump {<o:p></o:p></FONT></SPAN></PRE><PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; MARGIN: 7.5pt 11.25pt 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none; mso-line-height-alt: 9.75pt; mso-border-alt: dashed #3C78B5 .75pt; mso-padding-alt: 0mm 8.0pt 0mm 8.0pt"><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><FONT size=2><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>public static void main(String[] args) {<o:p></o:p></FONT></SPAN></PRE><PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; MARGIN: 7.5pt 11.25pt 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none; mso-line-height-alt: 9.75pt; mso-border-alt: dashed #3C78B5 .75pt; mso-padding-alt: 0mm 8.0pt 0mm 8.0pt"><FONT size=2><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>for (Entry entry : </SPAN><SPAN lang=EN-US style="COLOR: blue; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN">System.getenv()</SPAN><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN">.entrySet()) {<o:p></o:p></SPAN></FONT></PRE><PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; MARGIN: 7.5pt 11.25pt 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none; mso-line-height-alt: 9.75pt; mso-border-alt: dashed #3C78B5 .75pt; mso-padding-alt: 0mm 8.0pt 0mm 8.0pt"><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><FONT size=2><SPAN style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>System.out.println(entry.getKey() + "=" + entry.getValue());<o:p></o:p></FONT></SPAN></PRE><PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; MARGIN: 7.5pt 11.25pt 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none; mso-line-height-alt: 9.75pt; mso-border-alt: dashed #3C78B5 .75pt; mso-padding-alt: 0mm 8.0pt 0mm 8.0pt"><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><FONT size=2><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>}<o:p></o:p></FONT></SPAN></PRE><PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; MARGIN: 7.5pt 11.25pt 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none; mso-line-height-alt: 9.75pt; mso-border-alt: dashed #3C78B5 .75pt; mso-padding-alt: 0mm 8.0pt 0mm 8.0pt"><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><FONT size=2><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>}<o:p></o:p></FONT></SPAN></PRE><PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; MARGIN: 7.5pt 11.25pt 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none; mso-line-height-alt: 9.75pt; mso-border-alt: dashed #3C78B5 .75pt; mso-padding-alt: 0mm 8.0pt 0mm 8.0pt"><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><FONT size=2>}<o:p></o:p></FONT></SPAN></PRE></DIV>
<P class=MsoNormal style="MARGIN: 0mm 0mm 0pt"><SPAN lang=EN-US><FONT face=Century>&nbsp;<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0mm 0mm 0pt"><B><SPAN lang=EN-US style="mso-fareast-font-family: SimSun; mso-fareast-language: ZH-CN"><FONT face=Century>2</FONT></SPAN></B><B><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN; mso-ascii-font-family: Century; mso-hansi-font-family: Century">、</SPAN><SPAN lang=EN-US><FONT face=Century>ProcessBuilder</FONT></SPAN></B><B><SPAN lang=EN-US style="mso-fareast-font-family: SimSun; mso-fareast-language: ZH-CN"><o:p></o:p></SPAN></B></P>
<P class=MsoNormal style="MARGIN: 0mm 0mm 0pt 21pt; TEXT-INDENT: -21pt; tab-stops: list 21.0pt; mso-list: l0 level1 lfo1"><SPAN lang=EN-US style="FONT-FAMILY: Wingdings; mso-fareast-font-family: SimSun; mso-fareast-language: ZH-CN">l<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN">早期</SPAN><SPAN lang=EN-US style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN">Java</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN">版本允许使用 </SPAN><CODE><SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN">Runtime</SPAN></CODE><SPAN lang=EN-US style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN">.</SPAN><CODE><SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN">exec()</SPAN></CODE><SPAN lang=EN-US style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"> </SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN">方法创建本机进程，该方法仍然有效，但是因为使用</SPAN><CODE><SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN">String</SPAN></CODE><SPAN lang=EN-US style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"> </SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN">数组作为参数、以 </SPAN><CODE><SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN">File</SPAN></CODE><SPAN lang=EN-US style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"> </SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN">参数作为工作目录，所以定制子进程比较困难</SPAN><SPAN lang=EN-US style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0mm 0mm 0pt 21pt; TEXT-INDENT: -21pt; tab-stops: list 21.0pt; mso-list: l0 level1 lfo1"><SPAN lang=EN-US style="FONT-FAMILY: Wingdings; mso-fareast-font-family: SimSun; mso-fareast-language: ZH-CN">l<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN><SPAN style="FONT-FAMILY: SimSun">使用</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN">新的</SPAN><CODE><SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: SimSun">ProcessBuilder</SPAN></CODE><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN">类</SPAN><SPAN style="FONT-FAMILY: SimSun">可以简化这个过程</SPAN><SPAN lang=EN-US style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0mm 0mm 0pt 21pt; TEXT-INDENT: -21pt; tab-stops: list 21.0pt; mso-list: l0 level1 lfo1"><SPAN lang=EN-US style="FONT-FAMILY: Wingdings; mso-fareast-font-family: SimSun; mso-fareast-language: ZH-CN">l<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN">下面是一个启动</SPAN><SPAN lang=EN-US style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN">EditPlus</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN">的简单的例子：</SPAN><SPAN lang=EN-US style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><o:p></o:p></SPAN></P>
<DIV style="BORDER-RIGHT: #3c78b5 0.75pt dashed; PADDING-RIGHT: 8pt; BORDER-TOP: #3c78b5 0.75pt dashed; PADDING-LEFT: 8pt; BACKGROUND: #f0f0f0; PADDING-BOTTOM: 0mm; BORDER-LEFT: #3c78b5 0.75pt dashed; PADDING-TOP: 0mm; BORDER-BOTTOM: #3c78b5 0.75pt dashed"><PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; MARGIN: 7.5pt 11.25pt 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none; mso-line-height-alt: 9.75pt; mso-border-alt: dashed #3C78B5 .75pt; mso-padding-alt: 0mm 8.0pt 0mm 8.0pt"><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><FONT size=2>public class ProcessTest {<o:p></o:p></FONT></SPAN></PRE><PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; MARGIN: 7.5pt 11.25pt 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none; mso-line-height-alt: 9.75pt; mso-border-alt: dashed #3C78B5 .75pt; mso-padding-alt: 0mm 8.0pt 0mm 8.0pt"><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><FONT size=2><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>public static void main(String[] args) throws IOException {<o:p></o:p></FONT></SPAN></PRE><PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; MARGIN: 7.5pt 11.25pt 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none; mso-line-height-alt: 9.75pt; mso-border-alt: dashed #3C78B5 .75pt; mso-padding-alt: 0mm 8.0pt 0mm 8.0pt"><FONT size=2><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN><SPAN lang=EN-US style="COLOR: blue; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN">Process p = new ProcessBuilder(“C:\\Program Files\\EditPlus 2\\editplus.exe”).start();<o:p></o:p></SPAN></FONT></PRE><PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; MARGIN: 7.5pt 11.25pt 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none; mso-line-height-alt: 9.75pt; mso-border-alt: dashed #3C78B5 .75pt; mso-padding-alt: 0mm 8.0pt 0mm 8.0pt"><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><FONT size=2><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>}<o:p></o:p></FONT></SPAN></PRE><PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; MARGIN: 7.5pt 11.25pt 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none; mso-line-height-alt: 9.75pt; mso-border-alt: dashed #3C78B5 .75pt; mso-padding-alt: 0mm 8.0pt 0mm 8.0pt"><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><FONT size=2>}<o:p></o:p></FONT></SPAN></PRE></DIV>
<P class=MsoNormal style="MARGIN: 0mm 0mm 0pt 21pt; TEXT-INDENT: -21pt; tab-stops: list 21.0pt; mso-list: l1 level1 lfo2"><SPAN lang=EN-US style="FONT-FAMILY: Wingdings; mso-fareast-font-family: SimSun; mso-fareast-language: ZH-CN">l<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN">下面是在执行命令时指定参数的例子：</SPAN><SPAN lang=EN-US style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><o:p></o:p></SPAN></P>
<DIV style="BORDER-RIGHT: #3c78b5 0.75pt dashed; PADDING-RIGHT: 8pt; BORDER-TOP: #3c78b5 0.75pt dashed; PADDING-LEFT: 8pt; BACKGROUND: #f0f0f0; PADDING-BOTTOM: 0mm; BORDER-LEFT: #3c78b5 0.75pt dashed; PADDING-TOP: 0mm; BORDER-BOTTOM: #3c78b5 0.75pt dashed"><PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; MARGIN: 7.5pt 11.25pt 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none; mso-line-height-alt: 9.75pt; mso-border-alt: dashed #3C78B5 .75pt; mso-padding-alt: 0mm 8.0pt 0mm 8.0pt"><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><FONT size=2>public class ProcessTest {<o:p></o:p></FONT></SPAN></PRE><PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; MARGIN: 7.5pt 11.25pt 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none; mso-line-height-alt: 9.75pt; mso-border-alt: dashed #3C78B5 .75pt; mso-padding-alt: 0mm 8.0pt 0mm 8.0pt"><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><FONT size=2><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>public static void main(String[] args) throws IOException {<o:p></o:p></FONT></SPAN></PRE><PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; MARGIN: 7.5pt 11.25pt 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none; mso-line-height-alt: 9.75pt; mso-border-alt: dashed #3C78B5 .75pt; mso-padding-alt: 0mm 8.0pt 0mm 8.0pt"><SPAN lang=EN-US style="COLOR: blue; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><FONT size=2><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>Process p = new ProcessBuilder("ping", "sina.com.cn").start();<o:p></o:p></FONT></SPAN></PRE><PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; MARGIN: 7.5pt 11.25pt 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none; mso-line-height-alt: 9.75pt; mso-border-alt: dashed #3C78B5 .75pt; mso-padding-alt: 0mm 8.0pt 0mm 8.0pt"><SPAN lang=EN-US style="COLOR: blue; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><FONT size=2><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>InputStream is = p.getInputStream();<o:p></o:p></FONT></SPAN></PRE><PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; MARGIN: 7.5pt 11.25pt 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none; mso-line-height-alt: 9.75pt; mso-border-alt: dashed #3C78B5 .75pt; mso-padding-alt: 0mm 8.0pt 0mm 8.0pt"><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><FONT size=2><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>BufferedReader br = new BufferedReader(new InputStreamReader(is));<o:p></o:p></FONT></SPAN></PRE><PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; MARGIN: 7.5pt 11.25pt 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none; mso-line-height-alt: 9.75pt; mso-border-alt: dashed #3C78B5 .75pt; mso-padding-alt: 0mm 8.0pt 0mm 8.0pt"><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><FONT size=2><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>String line;<o:p></o:p></FONT></SPAN></PRE><PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; MARGIN: 7.5pt 11.25pt 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none; mso-line-height-alt: 9.75pt; mso-border-alt: dashed #3C78B5 .75pt; mso-padding-alt: 0mm 8.0pt 0mm 8.0pt"><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><FONT size=2><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>while ((line = br.readLine()) != null) {<o:p></o:p></FONT></SPAN></PRE><PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; MARGIN: 7.5pt 11.25pt 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none; mso-line-height-alt: 9.75pt; mso-border-alt: dashed #3C78B5 .75pt; mso-padding-alt: 0mm 8.0pt 0mm 8.0pt"><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><FONT size=2><SPAN style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>System.out.println(line);<o:p></o:p></FONT></SPAN></PRE><PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; MARGIN: 7.5pt 11.25pt 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none; mso-line-height-alt: 9.75pt; mso-border-alt: dashed #3C78B5 .75pt; mso-padding-alt: 0mm 8.0pt 0mm 8.0pt"><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><FONT size=2><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>}<o:p></o:p></FONT></SPAN></PRE><PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; MARGIN: 7.5pt 11.25pt 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none; mso-line-height-alt: 9.75pt; mso-border-alt: dashed #3C78B5 .75pt; mso-padding-alt: 0mm 8.0pt 0mm 8.0pt"><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><FONT size=2><SPAN style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>}<o:p></o:p></FONT></SPAN></PRE><PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; MARGIN: 7.5pt 11.25pt 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none; mso-line-height-alt: 9.75pt; mso-border-alt: dashed #3C78B5 .75pt; mso-padding-alt: 0mm 8.0pt 0mm 8.0pt"><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><FONT size=2>}<o:p></o:p></FONT></SPAN></PRE></DIV>
<P class=MsoNormal style="MARGIN: 0mm 0mm 0pt 21pt; TEXT-INDENT: -21pt; tab-stops: list 21.0pt; mso-list: l1 level1 lfo2"><SPAN lang=EN-US style="FONT-FAMILY: Wingdings; mso-fareast-font-family: SimSun; mso-fareast-language: ZH-CN">l<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN><CODE><SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: SimSun">ProcessBuilder</SPAN></CODE><SPAN style="FONT-FAMILY: SimSun">提供了 </SPAN><CODE><SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: SimSun">directory()</SPAN></CODE><SPAN lang=EN-US style="FONT-FAMILY: SimSun"> 方法改变进程的工作目录，</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN">使用</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun"> </SPAN><CODE><SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: SimSun">environment()</SPAN></CODE><SPAN lang=EN-US style="FONT-FAMILY: SimSun"> 方法在进程空间中添加和删除环境变量</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN">，下面是来自</SPAN><SPAN lang=EN-US style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN">JDK5</SPAN><SPAN lang=ZH-CN style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN">的例子：</SPAN><SPAN lang=EN-US style="FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><o:p></o:p></SPAN></P>
<DIV style="BORDER-RIGHT: #3c78b5 0.75pt dashed; PADDING-RIGHT: 8pt; BORDER-TOP: #3c78b5 0.75pt dashed; PADDING-LEFT: 8pt; BACKGROUND: #f0f0f0; PADDING-BOTTOM: 0mm; BORDER-LEFT: #3c78b5 0.75pt dashed; PADDING-TOP: 0mm; BORDER-BOTTOM: #3c78b5 0.75pt dashed"><PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; MARGIN: 7.5pt 11.25pt 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none; mso-line-height-alt: 9.75pt; mso-border-alt: dashed #3C78B5 .75pt; mso-padding-alt: 0mm 8.0pt 0mm 8.0pt"><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><FONT size=2>ProcessBuilder pb = new ProcessBuilder("myCommand", "myArg1", "myArg2");<o:p></o:p></FONT></SPAN></PRE><PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; MARGIN: 7.5pt 11.25pt 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none; mso-line-height-alt: 9.75pt; mso-border-alt: dashed #3C78B5 .75pt; mso-padding-alt: 0mm 8.0pt 0mm 8.0pt"><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><FONT size=2>Map&lt;String, String&gt; env = pb.environment();<o:p></o:p></FONT></SPAN></PRE><PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; MARGIN: 7.5pt 11.25pt 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none; mso-line-height-alt: 9.75pt; mso-border-alt: dashed #3C78B5 .75pt; mso-padding-alt: 0mm 8.0pt 0mm 8.0pt"><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><FONT size=2>env.put("VAR1", "myValue");<o:p></o:p></FONT></SPAN></PRE><PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; MARGIN: 7.5pt 11.25pt 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none; mso-line-height-alt: 9.75pt; mso-border-alt: dashed #3C78B5 .75pt; mso-padding-alt: 0mm 8.0pt 0mm 8.0pt"><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><FONT size=2>env.remove("OTHERVAR");<o:p></o:p></FONT></SPAN></PRE><PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; MARGIN: 7.5pt 11.25pt 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none; mso-line-height-alt: 9.75pt; mso-border-alt: dashed #3C78B5 .75pt; mso-padding-alt: 0mm 8.0pt 0mm 8.0pt"><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><FONT size=2>env.put("VAR2", env.get("VAR1") + "suffix");<o:p></o:p></FONT></SPAN></PRE><PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; MARGIN: 7.5pt 11.25pt 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none; mso-line-height-alt: 9.75pt; mso-border-alt: dashed #3C78B5 .75pt; mso-padding-alt: 0mm 8.0pt 0mm 8.0pt"><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><FONT size=2>pb.directory("myDir");<o:p></o:p></FONT></SPAN></PRE><PRE style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0mm; BORDER-TOP: medium none; PADDING-LEFT: 0mm; PADDING-BOTTOM: 0mm; MARGIN: 7.5pt 11.25pt 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0mm; BORDER-BOTTOM: medium none; mso-line-height-alt: 9.75pt; mso-border-alt: dashed #3C78B5 .75pt; mso-padding-alt: 0mm 8.0pt 0mm 8.0pt"><SPAN lang=EN-US style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN"><FONT size=2>Process p = pb.start();<o:p></o:p></FONT></SPAN></PRE></DIV><img src ="http://www.blogjava.net/nelson_tu/aggbug/2294.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nelson_tu/" target="_blank">nelson_tu</a> 2005-03-21 22:04 <a href="http://www.blogjava.net/nelson_tu/archive/2005/03/21/2294.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Tiger系列四：Annotation第二部分：定制Annotation</title><link>http://www.blogjava.net/nelson_tu/archive/2005/03/21/2293.html</link><dc:creator>nelson_tu</dc:creator><author>nelson_tu</author><pubDate>Mon, 21 Mar 2005 14:02:00 GMT</pubDate><guid>http://www.blogjava.net/nelson_tu/archive/2005/03/21/2293.html</guid><wfw:comment>http://www.blogjava.net/nelson_tu/comments/2293.html</wfw:comment><comments>http://www.blogjava.net/nelson_tu/archive/2005/03/21/2293.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/nelson_tu/comments/commentRss/2293.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nelson_tu/services/trackbacks/2293.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 1、自定义Annotation类型（1）定义Annotation类型l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 使用@interface声明Annotation类型public @interface InProgress {&nbsp;}l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n...&nbsp;&nbsp;<a href='http://www.blogjava.net/nelson_tu/archive/2005/03/21/2293.html'>阅读全文</a><img src ="http://www.blogjava.net/nelson_tu/aggbug/2293.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nelson_tu/" target="_blank">nelson_tu</a> 2005-03-21 22:02 <a href="http://www.blogjava.net/nelson_tu/archive/2005/03/21/2293.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Tiger系列三：Annotation第一部分：使用内置的Annotation</title><link>http://www.blogjava.net/nelson_tu/archive/2005/03/21/2292.html</link><dc:creator>nelson_tu</dc:creator><author>nelson_tu</author><pubDate>Mon, 21 Mar 2005 14:01:00 GMT</pubDate><guid>http://www.blogjava.net/nelson_tu/archive/2005/03/21/2292.html</guid><wfw:comment>http://www.blogjava.net/nelson_tu/comments/2292.html</wfw:comment><comments>http://www.blogjava.net/nelson_tu/archive/2005/03/21/2292.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/nelson_tu/comments/commentRss/2292.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nelson_tu/services/trackbacks/2292.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 1、引入l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 编程的一个最新趋势，尤其是 Java 编程，就是使用元数据l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 元数据可以用于创建文档，跟踪代码中的依赖性，甚至执行基本编译时检查l&nbsp;&nbsp;&nbsp;&nbsp;&nb...&nbsp;&nbsp;<a href='http://www.blogjava.net/nelson_tu/archive/2005/03/21/2292.html'>阅读全文</a><img src ="http://www.blogjava.net/nelson_tu/aggbug/2292.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nelson_tu/" target="_blank">nelson_tu</a> 2005-03-21 22:01 <a href="http://www.blogjava.net/nelson_tu/archive/2005/03/21/2292.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Tiger系列二：Tiger语言新特性</title><link>http://www.blogjava.net/nelson_tu/archive/2005/03/21/2290.html</link><dc:creator>nelson_tu</dc:creator><author>nelson_tu</author><pubDate>Mon, 21 Mar 2005 13:58:00 GMT</pubDate><guid>http://www.blogjava.net/nelson_tu/archive/2005/03/21/2290.html</guid><wfw:comment>http://www.blogjava.net/nelson_tu/comments/2290.html</wfw:comment><comments>http://www.blogjava.net/nelson_tu/archive/2005/03/21/2290.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/nelson_tu/comments/commentRss/2290.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nelson_tu/services/trackbacks/2290.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 1、重要的语言变化l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 泛型（Generics）l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 增强型循环（foreach）l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 自动封箱（Auto...&nbsp;&nbsp;<a href='http://www.blogjava.net/nelson_tu/archive/2005/03/21/2290.html'>阅读全文</a><img src ="http://www.blogjava.net/nelson_tu/aggbug/2290.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nelson_tu/" target="_blank">nelson_tu</a> 2005-03-21 21:58 <a href="http://www.blogjava.net/nelson_tu/archive/2005/03/21/2290.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Tiger系列一：从XML中加载属性</title><link>http://www.blogjava.net/nelson_tu/archive/2005/03/21/2280.html</link><dc:creator>nelson_tu</dc:creator><author>nelson_tu</author><pubDate>Mon, 21 Mar 2005 05:31:00 GMT</pubDate><guid>http://www.blogjava.net/nelson_tu/archive/2005/03/21/2280.html</guid><wfw:comment>http://www.blogjava.net/nelson_tu/comments/2280.html</wfw:comment><comments>http://www.blogjava.net/nelson_tu/archive/2005/03/21/2280.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/nelson_tu/comments/commentRss/2280.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nelson_tu/services/trackbacks/2280.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: JDK1.5（代号Tiger）中更新了java.util.Properties类，提供了从XML文件中读写key-value对属性的简单方法：loadFromXML()和storeToXML()1、基本加载属性的方法l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sample属性文件：sample.propertiesfoo=barf...&nbsp;&nbsp;<a href='http://www.blogjava.net/nelson_tu/archive/2005/03/21/2280.html'>阅读全文</a><img src ="http://www.blogjava.net/nelson_tu/aggbug/2280.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nelson_tu/" target="_blank">nelson_tu</a> 2005-03-21 13:31 <a href="http://www.blogjava.net/nelson_tu/archive/2005/03/21/2280.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>