`
TagStorage
  • 浏览: 11998 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

exec(cmd)和exec(cmdarray)的区别

    博客分类:
  • JAVA
阅读更多

 

public Process exec(String command) throws IOException

 和

 

public Process exec(String cmdarray[]) throws IOException

 其实是等价的,最终都会调用

 

public Process exec(String[] cmdarray, String[] envp, File dir) throws IOException

 因为如下代码:

public Process exec(String command, String[] envp, File dir)
        throws IOException {
        if (command.length() == 0)
            throw new IllegalArgumentException("Empty command");

	StringTokenizer st = new StringTokenizer(command);
	String[] cmdarray = new String[st.countTokens()];
 	for (int i = 0; st.hasMoreTokens(); i++)
	    cmdarray[i] = st.nextToken();
	return exec(cmdarray, envp, dir);
    }
 这里最终是:return exec(cmdarray, envp, dir);
分享到:
评论

相关推荐

    Runtime 执行bat

    例如,`exec(String command)`用于执行单个命令,而`exec(String[] cmdArray)`则接受命令及其参数的数组。在执行bat脚本时,我们通常使用后者,因为bat文件通常包含多个命令。 3. **执行bat脚本的示例** 假设我们...

    深入研究java.lang.Runtime类.doc

    6. exec(String[] cmdarray, String[] envp, File dir):在指定环境和工作目录的独立进程中执行指定的命令和变量。 7. exec(String command, String[] envp):在指定环境的单独进程中执行指定的字符串命令。 8. exec...

    使用runtime实现linux命令行或shell脚本多次调用

    `Runtime.exec(String command)`方法用于执行单个命令,而如果需要执行包含多个命令的shell脚本,可以使用`Runtime.exec(String[] cmdArray)`,其中cmdArray是一个包含命令及其参数的字符串数组。 下面是一个简单的...

    android系统中调用shell脚本

    2. **使用Runtime.exec()的变体**:如果需要传递参数或者捕获脚本输出,可以使用`Runtime.exec(String[] cmdarray)`,这样可以更好地控制命令行参数。 3. **使用`java.lang.ProcessBuilder`**:此类提供了更灵活的...

    Java中使用Runtime和Process类运行外部程序.docx

    `exec()`方法有多个重载版本,主要区别在于是否传入环境变量和工作目录: 1. `exec(String command)`:使用默认环境变量和当前工作目录来执行命令。 2. `exec(String command, String[] envp[], File dir)`:允许...

    java执行可执行文件或批处理

    2. **字符串数组参数**:`exec(String[] cmdarray)`接受一个命令行字符串数组作为参数。 ### 执行可执行文件和批处理文件 #### 示例1:执行可执行文件 假设我们有一个名为`p.exe`的可执行文件位于当前目录下,...

    java代码中调用linux/unix命令

    `Runtime.getRuntime().exec(String command)`或`Runtime.getRuntime().exec(String[] cmdArray)`可以执行单个命令。例如,执行`ls`命令可以写成: ```java Process process = Runtime.getRuntime().exec("ls"); ...

    java 中调用命令

    `Runtime.exec(String command)`或`Runtime.exec(String[] cmdArray)`方法用于执行指定的操作系统命令。例如,如果要在Java程序中打包一个JAR文件,可以使用命令行的`jar`工具,将命令封装为字符串或者字符串数组...

    Pawn.CMD::rocket: 最快的 SA 指令处理器

    Pawn.CMD :rocket: SA:MP 服务器最快的命令处理器 2016 年比较(可能已经过时) 当地人 native PC_RegAlias ( const cmd[], const alias[], ...); native PC_SetFlags ( const cmd[], flags); native PC_GetFlags...

    Runtime 源码分析

    - `exec(String[] cmdarray)`: 类似于`exec(String command)`,但参数是一个字符串数组,更便于传递包含空格的命令行参数。 2. **系统信息获取**: - `freeMemory()`: 返回当前Java虚拟机中的可用内存。 - `...

    Java 执行本地脚本携带多参数

    Process process = Runtime.getRuntime().exec(cmdArray); } catch (IOException e) { e.printStackTrace(); } ``` 2. **ProcessBuilder类**: ProcessBuilder提供了更灵活的方式来执行外部进程,可以更好地...

    RunCommandinJava:使用Java运行Linux命令

    总的来说,Java中的`Runtime.exec()`和`ProcessBuilder`提供了强大的能力,让我们能够直接在Java程序中执行Linux命令。然而,使用这些工具时,务必注意安全性、资源管理和正确性,以确保代码的健壮性和安全性。

    2013年9月全国计算机等级考试二级VB无纸化上机题题库题干及答案解析(5).pdf

    7. 数组和集合操作:如“cmdArray”表明了在VB中对数组的操作,数组用于存储多个相同类型的数据项,而VB提供了数组声明、赋值、遍历等操作。 8. 图形界面设计:文档中提到了如“pic1.jpg”这样的图形元素和“Drive1...

Global site tag (gtag.js) - Google Analytics