前面写过调用外部程序的,最近我在做的东西又遇到了设置工作目录的问题,
简而言之就是这样的应用
process = Runtime.getRuntime().exec("cmd /k start dir")
这时的默认路径是项目根目录,而很多时候我们需要指定目录,这时候就需要
写道
exec
public Process exec(String command,
String[] envp,
File dir)
throws IOException在有指定环境和工作目录的独立进程中执行指定的字符串命令。
这是一个很有用的方法。对于 exec(command, envp, dir) 形式的调用而言,其行为与调用 exec(cmdarray, envp, dir) 完全相同,其中 cmdarray 是 command 中所有标记的数组。
更准确地说,可以使用通过调用 new StringTokenizer(command) 创建的 StringTokenizer 将 command 字符串拆解成标记,调用时不对字符类别做进一步的修改。然后将标记生成器所生成的标记以相同的顺序放入新的字符串数组 cmdarray 中。
参数:
command - 一条指定的系统命令。
envp - 字符串数组,其中每个元素的环境变量的设置格式为 name=value;如果子进程应该继承当前进程的环境,或该参数为 null。
dir - 子进程的工作目录;如果子进程应该继承当前进程的工作目录,则该参数为 null。
返回:
一个新的 Process 对象,用于管理子进程
抛出:
SecurityException - 如果安全管理器存在,并且其 checkExec 方法不允许创建子进程
IOException - 如果发生 I/O 错误
NullPointerException - 如果 command 为 null,或者 envp 的某个元素为 null
IllegalArgumentException - 如果 command 为空
从以下版本开始:
1.3
另请参见:
ProcessBuilder
第三个参数可以设置dir,即工作目录
类似我如下使用
process = Runtime.getRuntime().exec("cmd /k dir",null,new File("E:\\profit\\java\\"));
分享到:
相关推荐
JAVA调用外部程序 用JAVA调用外部程序并截出程序运行结果
F:\Work\Study\功能点技术\java调用可执行文件\Java调用外部程序命令.doc
Delphi XE10 调用外部程序并等待其运行结束
QT通过QProcess调用外部程序 博客地址:https://tinycool.blog.csdn.net/article/details/124359078
java中两种方式调用其他.exe可执行程序
一个简单的例子,C#多线程实现调用外部程序并获取打印结果 一个简单的例子,C#多线程实现调用外部程序并获取打印结果 一个简单的例子,C#多线程实现调用外部程序并获取打印结果 一个简单的例子,C#多线程实现调用...
C#实现异步调用外部程序!
这个Demo介绍了怎样通过程序的URL接口调用外部程序或系统程序,对应博客iOS调用外部程序和系统程序。
Delphi调用外部程序详解Delphi调用外部程序详解Delphi调用外部程序详解Delphi调用外部程序详解Delphi调用外部程序详解
解决Java新建进程问题 Java调用应用程序 可以学会如何使用Java的Runtime类的exec
java调用matlab程序的一个applet-java调用matlab.txt 最近在做java实现多Agent,如有同志可相互切磋,现附上一段java调用matlab程序的程序,希望能帮到有需要的同仁。
通过java应用程序动态调用外部jar文件。
调用外部程序.rar调用外部程序.rar调用外部程序.rar
vc调用外部程序参考vc调用外部程序参考vc调用外部程序参考vc调用外部程序参考vc调用外部程序参考vc调用外部程序参考
Authware查找窗口调用外部程序!!!!!!!
实现qt下点击按钮所实现的外部程序的调用!
UE5调用外部EXE程序
LabWindowsCVI调用外部程序的六种方法源代码
NULL 博文链接:https://dadi520.iteye.com/blog/539524
LabWindows_CVI调用外部程序的六种方法源代码