`
yiyu
  • 浏览: 186535 次
  • 性别: 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执行cmd命令调用ffmpeg报错Concat error - No such filter '[0,0]'问题

    总结来说,当在Java中执行ffmpeg命令遇到问题时,需要关注操作系统对命令行参数的处理方式,以及Java自身的命令执行机制。同时,确保正确地转义特殊字符,使用适当的API来构建和执行命令,或者寻找更高级的库来简化...

    在Linux系统下用java执行系统命令实例讲解

    `exec()`方法返回一个`Process`对象,该对象可以用来获取命令执行的状态,读取输出流等。 二、ProcessBuilder类 `ProcessBuilder`类提供了更灵活的方式来执行命令,可以设置环境变量,工作目录等。创建`...

    java 执行cmd命令及mongodb脚本

    在Java中,我们可以使用Runtime类或ProcessBuilder类来执行操作系统级别的命令。这两种方法都能实现与操作系统的交互,但各自有其特点。 1. 使用Runtime类: ```java Runtime runtime = Runtime.getRuntime(); ...

    ProcessBuilder非阻塞是调用

    在 Java 中,使用 ProcessBuilder 类可以执行外部命令或程序,例如执行系统命令、运行可执行文件等。但是,默认情况下,ProcessBuilder 类的调用是阻塞的,即调用线程会等待外部命令或程序的执行完成后才继续执行。...

    Java执行dos命令

    ProcessBuilder允许我们更灵活地设置命令和环境变量,甚至可以指定命令执行的工作目录。以下是一个使用ProcessBuilder的例子: ```java List<String> commands = Arrays.asList("mkdir", "新建目录"); ...

    Java执行DOS命令

    然后,我们通过`BufferedReader`读取命令执行的输出并打印到控制台。 但是,`Runtime.getRuntime().exec()`方法有一些限制,例如无法处理命令行参数、重定向输入和输出、以及对命令行错误流的处理。为了克服这些...

    SpringBoot执行adb命令连接手机执行

    在SpringBoot项目中,我们可以创建一个服务或者控制器,通过Java的Runtime类或者ProcessBuilder类来执行系统命令,即ADB命令。例如,以下是一个简单的示例,展示如何通过Java代码执行ADB命令: ```java import java...

    android 执行系统命令

    不当的命令执行可能导致安全漏洞,所以应该避免执行不确定来源的命令,并始终对用户输入进行严格的验证和过滤。同时,合理地设计权限策略,避免过度权限,以保护用户的隐私和设备的安全。 总的来说,"android 执行...

    java执行外表命令

    这个过程通常被称为“外部进程调用”或“系统命令执行”。标题“java执行外表命令”指的就是如何在Java程序中运行操作系统命令。这篇博客(博文链接:https://rdman.iteye.com/blog/1214069)可能详细介绍了这个主题...

    Android 应用中执行cd命令

    然后,你可以使用`processBuilder.start()`启动命令执行,但这并不会改变Android应用本身的当前工作目录。`cd`命令只会在那个临时的shell进程中生效,一旦该进程结束,这个目录变化就消失了。对于Android应用来说,...

    JAVA100例之实例41 执行系统命令

    2. **ProcessBuilder类**:`ProcessBuilder`提供了更灵活的命令执行方式,可以指定命令的路径,甚至环境变量和工作目录。例如: ```java ProcessBuilder pb = new ProcessBuilder("ls", "-l"); pb.directory(new ...

    JAVA执行shell命令小工具

    标题中的“JAVA执行shell命令小工具”指的是使用Java编程语言编写的小程序,它能够执行操作系统级别的Shell命令。在Java中,通常使用`Runtime.getRuntime().exec()`或者`ProcessBuilder`类来实现这一功能。这两个类...

    java 中轻松实现 执行windows系统命令

    `ProcessBuilder`类还提供了其他一些方法,如`directory()`用于设置命令执行的目录,`redirectInput()`, `redirectOutput()`, `redirectError()`用于重定向输入、输出和错误流,以及`start()`方法用于启动进程。...

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

    相比于`Runtime.exec()`,`ProcessBuilder`提供了更加强大和灵活的功能,并允许开发者更好地控制进程的执行。`ProcessBuilder`类用于创建操作系统进程,每个`ProcessBuilder`实例管理一系列进程属性,通过`start()`...

    Android程序中(APK程序)执行Adb shell 命令

    综上所述,"Android程序中(APK程序)执行Adb shell命令"涉及到利用Java的Runtime或ProcessBuilder类来调用系统shell,执行特定的命令。这个过程需要理解ADB的作用,以及如何在Android应用程序中安全地使用shell命令...

    java控制台输入cmd命令, ssh远程linux shell命令, 并打印命令输出到控制台

    在Java中,我们可以使用`Runtime`类或者`ProcessBuilder`类来执行系统命令。这里以`Runtime`为例: ```java import java.io.BufferedReader; import java.io.InputStreamReader; public class CmdExecutor { ...

    java执行js导致命令执行1

    Java执行JS导致命令执行的机理剖析 Java执行JS导致命令执行是一个非常重要的知识点,今天我们将详细探讨这个知识点的机理和实现方式。 首先,让我们回顾一下之前讨论的XMLDecoder序列化的底层,特别是Expression类...

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

    通过ProcessBuilder类,可以轻松地执行外部命令,并获取其输出结果。在本文中,我们将详细介绍如何使用ProcessBuilder类来调用外部程序,并通过示例代码演示其使用方法。 ProcessBuilder类的基本使用 ...

    java javascript 调用命令行 cmd

    在实际应用中,你可能需要处理命令执行的输出、错误,甚至进行进程间的通信。需要注意的是,执行命令行操作时要特别小心,避免引入安全漏洞,如执行不受信任的用户输入。在Node.js中,尤其要确保只执行预期的命令,...

    java 调用doc命令

    在Java中,我们可以通过`Runtime.exec()`或`ProcessBuilder`类来执行这样的系统命令。 首先,让我们详细了解一下`Runtime.exec()`方法。这个方法允许Java程序在运行时执行外部程序或命令。例如,如果我们要在CMD中...

Global site tag (gtag.js) - Google Analytics