package cmd;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
class StreamDrainer implements Runnable {
private InputStream ins;
public StreamDrainer(InputStream ins) {
this.ins = ins;
}
public void run() {
try {
BufferedReader reader = new BufferedReader(
new InputStreamReader(ins));
String line = null;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
public class TestRunCmd {
public static void main1(String[] args) {
String[] cmd = new String[] { "cmd.exe", "/C", "wmic process get name" };
try {
Process process = Runtime.getRuntime().exec(cmd);
new Thread(new StreamDrainer(process.getInputStream())).start();
new Thread(new StreamDrainer(process.getErrorStream())).start();
process.getOutputStream().close();
int exitValue = process.waitFor();
System.out.println("返回值:" + exitValue);
} catch (Exception e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
本文将深入探讨如何在Java中调用Windows CMD命令,并提供一个具体的代码示例——`FileProcessInShell.java`。 首先,我们来看Java是如何调用外部命令的。在Java中,有两种主要的方法可以执行系统命令: 1. **...
本文将详细介绍如何利用Java的`Runtime.getRuntime().exec()`方法来实现对CMD命令的调用,并通过具体的例子来帮助读者理解和掌握这一技术。 #### 1. 基本原理 `java.lang.Runtime`类提供了运行时环境的表示,通过...
通过Java运行CMD命令,可以实现自动化任务、远程控制、系统监控等多种功能,尤其是在开发跨平台的应用时,这种能力尤为关键。了解如何正确地调用和控制操作系统命令是Java开发者必备的技能之一。
Java调用DOS命令是指在Java程序中执行操作系统级别的命令,比如Windows下的CMD命令或Linux下的Shell命令。这种功能在很多场景下都很有用,比如自动化脚本、文件操作、系统管理等。Java提供了Runtime类和...
本文将详细讲解如何在Java程序中调用CMD命令。 首先,我们来看`Runtime.getRuntime().exec()`方法,这是最常用的方式来执行系统命令。例如,如果我们要在CMD中运行一个`dir`命令,可以这样做: ```java try { ...
##### 示例2:读取DOS命令输出 ```java Process process = Runtime.getRuntime().exec("cmd /c dir"); BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(process.getInputStream())); ...
3. **处理命令输出**: 当命令执行时,可能会产生标准输出和错误输出。我们可以通过`Process`对象的`getInputStream()`和`getErrorStream()`方法获取这些流。为了防止阻塞,通常会创建线程来读取这些流,如下所示:...
它使得开发者能够在Java代码中执行系统命令,获取命令输出,并对命令行交互进行控制,这对于自动化测试、脚本编写以及需要与系统层面进行交互的Java应用程序非常有用。通过这种方式,开发者无需离开Java环境就能执行...
在Java编程中,有时我们需要与操作系统进行交互,执行一些系统级别的操作,比如运行DOS(命令行)命令。Java提供了一种方式来实现这个功能,通过`Runtime`类或者`ProcessBuilder`类来执行外部程序,包括DOS命令。...
以下是一段简单的示例代码,展示了如何使用ProcessBuilder启动一个外部CMD命令: ```java import java.io.BufferedReader; import java.io.InputStreamReader; public class MyDOS { public static void main...
4. **编写并运行Java程序**:使用文本编辑器创建`.java`源代码文件,然后通过`javac`命令编译成`.class`字节码文件,最后用`java`命令运行程序,如果能在控制台看到预期的输出,就表明Java开发环境已经准备就绪。...
在标题和描述中提到的"截出程序运行结果"部分,这通常是指收集并处理程序执行过程中的输出信息。上面的代码已经展示了如何读取和打印程序的输出。如果你需要将结果存储到文件或进行其他处理,只需改变`System.out....
本文详细介绍了如何使用`javac`和`java`命令来进行Java程序的编译与运行。特别注意到了不带`.java`或`.class`后缀的操作习惯,并对包含包声明的文件进行了特别说明。此外,还介绍了如何运行ZIP格式的Java项目,这...
在Java编程中,有时我们需要执行操作系统级别的任务,例如运行一个外部程序或命令。这可以通过Java的`Runtime`类提供的`exec()`方法实现。标题和描述中的示例代码演示了如何在Windows环境下启动一个名为`msimn.exe`...
总结,Java运行bat文件主要依赖于Runtime类或ProcessBuilder类,需要处理好输出流,注意异常处理,并根据需求选择同步或异步执行。在实际应用中,还需关注安全性和权限问题。通过以上步骤,你可以有效地在Java程序中...
在Java编程中,有时我们需要与操作系统进行交互,执行一些系统级别的命令,比如文件操作、系统信息查询等。这个"JAVA100例之实例41 执行系统命令"就是专门针对这一需求的一个示例,它展示了如何在Java程序中调用和...
在Java编程中,有时我们需要与操作系统进行交互,执行一些系统级别的任务,比如运行命令行程序。这通常是通过Java的Runtime类或ProcessBuilder类来实现的。本文将详细讲解如何通过Java执行命令行程序,以及在处理...
3. **Process对象**:`Runtime.getRuntime().exec(cmd)`返回一个`Process`对象,你可以通过它来获取命令执行的状态、输出流等信息。 4. **异常处理**:在实际应用中,应该对`exec()`方法可能抛出的`IOException`...
这两个类提供了运行外部应用程序的能力,使得Java程序能够执行DOS命令,例如创建文件、删除文件、拷贝文件、查看系统信息等。 首先,让我们了解一下Runtime类。Runtime类是每个Java应用都有的一个单例对象,它可以...
`javac` 是Java编译器,用于将Java源代码(.java文件)编译成字节码文件(.class文件),而 `java` 命令则负责加载并运行这些字节码文件。 ##### javac命令详解 - **语法**:`javac [选项] <源文件名>.java` - `...