从Java
6开始,“为了特别方便,包含基名称的类路径元素
*被认为等同于指定扩展名为
.jar或的目录中所有文件的列表
.JAR。有关
java详细信息,请参见命令行选项。
附录:本示例开始
JFreeChart使用提到的通配符功能。
import java.io.BufferedReader;import java.io.InputStreamReader;public class PBTest { private static final String baseDir = "/opt/jfreechart/"; public static void main(String[] args) { ProcessBuilder pb = new ProcessBuilder("java", "-cp", baseDir + "lib/*:" + baseDir + "jfreechart-1.0.14-demo.jar", "demo.SuperDemo"); pb.redirectErrorStream(true); try { Process p = pb.start(); String s; // read from the process's combined stdout & stderr BufferedReader stdout = new BufferedReader( new InputStreamReader(p.getInputStream())); while ((s = stdout.readLine()) != null) { System.out.println(s); } System.out.println("Exit value: " + p.waitFor()); p.getInputStream().close(); p.getOutputStream().close(); p.getErrorStream().close(); } catch (Exception ex) { ex.printStackTrace(System.err); } }}附录:这是Windows的更改,它需要
;作为路径分隔符。
private static final String baseDir = "C:/Users/Public/JFreeChart/";public static void main(String[] args) { ProcessBuilder pb = new ProcessBuilder("java", "-cp", baseDir + "lib/*;" + baseDir + "jfreechart-1.0.14-demo.jar", "demo.SuperDemo");


