一个简单的小工具,用java执行系统命令,并打印输出。
public class OSExecute {
/**
* <b>command。</b>
* <p>
* <b>详细说明:</b>
* </p>
* <!-- 在此添加详细说明 --> 无。
*
* @param command
*/
public static void command(String command) {
try {
Process process = new ProcessBuilder(Arrays.asList(command.split(" "))).start();
// 标准输入流
BufferedReader result = new BufferedReader(new InputStreamReader(
process.getInputStream()));
String s = result.readLine();
while (s != null) {
System.out.println(s);
s = result.readLine();
}
// 标准错误输入流
BufferedReader error = new BufferedReader(new InputStreamReader(
process.getErrorStream()));
s = error.readLine();
while (s != null) {
System.err.println(s);
s = error.readLine();
}
} catch (Exception e) {
// 纠正
if (!command.startsWith("CMD /C")) {
command("CMD /C " + command);
} else {
throw new RuntimeException(e.getMessage());
}
}
}
public static void main(String[] args) {
OSExecute.command("dir");
}
}
测试ls(windows下测试),命令的结果:
驱动器 E 中的卷是 Doc
卷的序列号是 B411-2480
E:/workspace/java/ThinkInJava/book 的目录
2010/12/28 20:30 <DIR> .
2010/12/28 20:30 <DIR> ..
2010/12/28 19:31 518 .classpath
2010/08/29 08:59 380 .project
2010/12/28 17:09 <DIR> .settings
2010/12/28 19:57 <DIR> bin
2010/12/28 20:32 100 data.txt
2010/08/29 09:02 <DIR> source
2010/12/28 19:55 <DIR> src
2010/08/29 09:14 <DIR> test
3 个文件 998 字节
7 个目录 13,018,263,552 可用字节
分享到:
相关推荐
以上就是使用Java执行本地CMD命令以及通过SSH连接远程Linux服务器执行shell命令的方法。这两个功能的结合,使开发者能够轻松地在不同的操作系统间进行跨平台的系统操作,极大地提高了开发和运维的效率。
import java.io.*; /** * <p>Title: 执行CMD命令 * * <p>Copyright: Copyright (c) 2010 *
Java执行CMD命令及MongoDB脚本是开发过程中常见的任务,特别是在集成系统或者自动化运维场景下。下面将详细讲解这两个主题。 一、Java执行CMD命令 在Java中,我们可以使用Runtime类或ProcessBuilder类来执行操作...
首先,`adb shell`命令是通过ADB工具在设备的shell环境中执行命令。在Android应用中,我们通常会用到`Runtime`类或者`Process`类来实现这一功能。以下是一个简单的示例,展示如何在Java代码中执行`adb shell`命令: ...
JNI在各种场景下都非常有用,比如性能优化、利用系统底层功能或者如本例所示,执行系统级别的操作,例如运行shell命令。本文将深入探讨如何使用JNI在Android中执行shell命令。 首先,理解JNI的工作原理是必要的。...
// 记录执行命令的时间 stringBuffer.append(dateFormat.format(new Date())) .append(" 准备执行 Shell: ").append(shellCommand).append("\r\n"); Process pid = null; String[] cmd = {"/bin/sh", "-c", ...
因为我在linux环境下执行shell脚本时sqlldr命令和sqlplus命令是正常执行的,没有任何问题,但是在java代码中调用脚本时却报错,所有排除了其他原因,只可能是环境变量的问题, 于是我把oracle的所有环境变量直接复制...
在Android开发中,有时我们需要执行一些底层操作,例如与硬件交互或者进行系统级别的操作,这时候JNI(Java Native Interface)和shell命令就显得尤为重要。本文将详细介绍如何在Android应用中使用JNI来执行shell...
- 使用Runtime.getRuntime().exec()或ProcessBuilder执行命令,捕获标准输出和错误输出。 - 将输出数据写入Socket的OutputStream,回传给客户端。 2. **客户端**: - 创建Socket实例,连接到服务器的IP地址和...
`ProcessBuilder`提供了更灵活的方式来构建和执行命令。你可以创建一个`ProcessBuilder`实例,然后添加命令及其参数。例如: ```java List<String> commands = Arrays.asList("cmd", "/c", "dir"); ...
"Java代码执行shell命令的实现" Java代码执行shell命令的实现是指在Java程序中调用操作系统的shell命令,实现与操作系统交互的功能。下面将详细介绍Java代码执行shell命令的实现方法。 环境准备 在执行shell命令...
请确保Java程序有权限执行外部命令,并且mysqldump在Java执行环境的PATH中。 ### 进阶技巧 1. **加密备份**: 可以使用`--password`选项代替 `-p`,避免密码显示在命令行历史记录中。 2. **增量备份**: 虽然...
要实现“CMD Here”,我们需要编辑`HKEY_CLASSES_ROOT\Directory\shell`下的键值,增加一个新的子键,然后设置其显示名称(如“CMD Here”)和执行命令。执行命令通常是`cmd.exe /k cd %1`,这会打开命令提示符并...
- `dfs <dfs command>`: 在 HDFS 上执行命令。 - `<query string>`: 执行查询并显示结果。 ### 日志 Hive 使用 Log4J 处理日志。通过调整 `hive.root.logger` 的级别(如 `INFO`, `DEBUG`),你可以控制 Hive 的...
为了保证脚本执行的可靠性,Java代码可能还会包含异常处理机制,比如捕获`IOException`来处理执行命令时可能出现的任何问题。此外,可能还会有一个关闭进程的逻辑,以确保即使在程序异常终止时,也能正确关闭执行的...
ProcessBuilder类提供更灵活的方式来执行命令,它可以处理更复杂的命令行参数,包括环境变量和工作目录的设置。下面的例子展示了如何使用ProcessBuilder: ```java ProcessBuilder pb = new ProcessBuilder("cmd...
4. **使用`dalvikvm-heap`权限**:在AndroidManifest.xml中添加`<uses-permission android:name="android.permission.DUMP" />`,这允许应用获取设备状态信息,可能有助于执行更复杂的shell命令。 5. **使用AIDL...
java操作Linux-shell命令的jar文件,java语言执行 Linux-cmd命令 java操作Linux-shell命令的jar文件,java语言执行 Linux-cmd命令 java操作Linux-shell命令的jar文件,java语言执行 Linux-cmd命令 java操作Linux-shell...
另外,虽然可以直接使用`Runtime.exec()`执行单条命令,但更推荐的方法是编写一个bat(Windows)或shell(Linux)脚本,将一系列命令封装在一起,然后通过Java执行这个脚本。这样可以更好地组织和管理复杂的命令序列...
`execCmd`方法接受一个Shell命令作为字符串参数,通过`Runtime.getRuntime().exec(cmd)`执行该命令。`LineNumberReader`用于读取Shell脚本执行的输出,将其逐行存储到字符串变量`ret`中。值得注意的是,`2>&1`表示...