转自:http://blog.sina.com.cn/s/blog_3d731e9001000ajm.html
今天发现了Runtime.getRuntime().exec()新的使用方法:
//测试结果:能打开,但是需要关闭文件才能中止程序。 //String[] cmd = {"notepad.exe","F:\\long_cennect.txt"}; //Process process = Runtime.getRuntime().exec(cmd); //测试结果:能打开文件,并且与程序独立,不关闭文件 程序也继续向下执行。 // /E:ON 允许cmd扩展 /c 指之后的都是字符串 测试时把E改成F,执行结果是一样的。 Process process = Runtime.getRuntime().exec("cmd /E:ON /c start F:\\long_cennect.txt"); //Process process = Runtime.getRuntime().exec("cmd.exe /c start F:\\long_cennect.txt"); 用这句话测试结果和上句话是一样的。 InputStreamReader inputStr = new InputStreamReader(process.getInputStream()); BufferedReader br = new BufferedReader(inputStr); String temp = ""; while((temp = br.readLine())!= null){ System.out.println(temp); } process.destroy(); br.close(); inputStr.close(); 还可以设置工作目录,对执行与工作目录相关的批处理文件是有用的。 File dir = new File("E:\\Product"); Process process = Runtime.getRuntime().exec("E:\\Product\\copy.bat",null,dir);