`
yiyu
  • 浏览: 183363 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于ProcessBuilder执行dir命令报错

    博客分类:
  • java
阅读更多
今天无事,试一下ProcessBuilder,没想到这么一段简单的代码运行不过去

public static void main(String[] args) throws IOException {
ProcessBuilder pb = new ProcessBuilder("dir");
pb.directory(new File("e:/temp"));

Process p = pb.start();

BufferedReader in = new BufferedReader(new InputStreamReader(p
.getInputStream()));
String aline = in.readLine();
while (aline != null) {
System.out.println(aline);
aline = in.readLine();
}
}

运行时报错:

Exception in thread "main" java.io.IOException: CreateProcess: dir error=2

后来才找到原因,原来是因为dir不是一个命令,它是cmd.exe的子命令,所以应该写成这样:

ProcessBuilder pb = new ProcessBuilder("cmd.exe", "/C", "dir");

呵呵
分享到:
评论

相关推荐

    java执行可执行文件,Runtime.exec、ProcessBuilder、commons-exec

    java 执行可执行文件,Runtime.exec、ProcessBuilder、commons-exec

    Java零基础 - ping命令.md

    本文档介绍了如何在Java中使用ProcessBuilder类执行ping命令,以检测主机的网络连通性。我们提供了详细的步骤说明,并附带一个简单的源码示例,演示如何使用Java代码执行ping命令并解析结果。 内容概要 本文档涵盖...

    ProcessBuilder非阻塞是调用

    ProcessBuilder非阻塞是调用ProcessBuilder非阻塞是调用ProcessBuilder非阻塞是调用ProcessBuilder非阻塞是调用ProcessBuilder非阻塞是调用

    linux使用管道命令执行ps获取cpu与内存占用率

    主要介绍了linux使用管道命令执行ps获取cpu与内存占用率的示例,需要的朋友可以参考下

    Java零基础 - DOS命令del.md

    本文档介绍了如何在Java中使用ProcessBuilder类执行DOS命令。我们提供了详细的步骤说明,并附带一个简单的源码示例,演示如何使用Java代码删除文件。 内容概要 本文档涵盖以下内容: 使用Java代码执行DOS命令 使用...

    Java零基础 - ipconfig命令.md

    本文档介绍了如何在Java中使用ProcessBuilder类执行DOS命令。我们提供了详细的步骤说明,并附带一个简单的源码示例,演示如何使用Java代码获取系统的网络配置信息。 内容概要 本文档涵盖以下内容: 使用Java代码...

    Java零基础(JDK13) - 常用DOS命令 - cd回到上级以及回到根.md

    本文档介绍了如何在Java中使用ProcessBuilder类执行常用的DOS命令。我们提供了详细的步骤说明,并附带一个简单的源码示例,演示如何使用cd命令回到上级目录以及回到根目录。 内容概要 本文档涵盖以下内容: 回到...

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

    深入研究java.lang.ProcessBuilder类

    08 ProcesBuilder

    个人对于java.lang.ProcessBuilder的分析

    Java如何基于ProcessBuilder类调用外部程序

    主要介绍了Java如何基于ProcessBuilder类调用外部程序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    quine:Java中使用ProcessBuilder运行时的非空查询-“计算机娱乐

    奎因使用ProcessBuilder运行时在Java中进行非空查询-“计算机娱乐:自动复制自动机”让·米洛(Jean Millo),1972年基本上是在使用ProcessBuilder充当再现代理的全新概念上制作的。 该程序输出自己的源代码,并且...

    解决Java调用BAT批处理不弹出cmd窗口的方法分析

    本篇文章是对Java调用BAT批处理不弹出cmd窗口的方法进行了详细的分析介绍,需要的朋友参考下

    java-cmd-exec:一个简单的ProcessBuilder包装器

    一个简单的ProcessBuilder包装器 例子 公共类Md5sumCommand扩展了Command { @Override protected File directory() { return new File("."); } @Override protected String command() { return "md5sum...

    java执行shell或bat脚本

    java执行shell或bat脚本,Java可以使用三种方式来执行.bat或.shell脚本文件:使用Runtime.exec()、使用ProcessBuilder、使用第三方工具包commonsexec.jar

    Java Process Utils (Forker):用于更好地控制外部进程的 Java 库-开源

    Forker Daemon 可用于降低 Linux 上的分叉成本,方法是启动一个单独的小型 JVM,其工作只是代表另一个运行时执行命令。 Forker Wrapper 是一个在 Java 中执行服务的“包装器”。 类似于 JSW(Java 服务包装器)和 ...

    java jdk实列宝典 光盘源代码

    使用ProcessBuilder执行本地命令; 泛型编程; 监控和管理虚拟机;新的线程执行架构; 线程锁; 线程条件; 线程同步装置:semaphore countdownlatch cyclicbarrier exchanger; 17 java与xml 用dom处理xml文档; 用sax处理...

    java获取网卡地址

    使用的是J2SE的ProcessBuilder类执行外部的程序,相对于 Runtime.exec 它更方便,可以设置环境变量等。这里使用它在windows下读取物理网卡的地址。供大家参考。

    zt-exec:ZeroTurnaround流程执行器

    ZT流程执行器 持续集成 快速概述 创建该项目是为了将上项目的类似功能合并到单个代码库中。 它被设计为功能强大,但仍易于使用。 通过使用单个类ProcessExecutor ,用户可以从java.lang.ProcessBuilder和获得功能。 ...

    jsr223-nativeshell:用于Java的Bash脚本引擎,实现JSR223

    对于可执行引擎,它只需获取脚本并使用Java ProcessBuilder将其作为单个命令运行。 装订 脚本绑定使用其表示形式作为环境变量导出,并且可以在外壳程序中进行访问。 对于可执行引擎,绑定也将在命令行(即脚本)中...

    Android_读取信息实例

    6. processBuilder builder = new ProcessBuilder ( cmd ); 7. //设置一个路径 8. if ( workdirectory ! = null ) 9. builder.directory ( new File ( workdirectory ) ) ; 10. builder.redirectErrorStream...

Global site tag (gtag.js) - Google Analytics