java怎么掉用操作系统的命令?

YY_MM_DD 2010-10-13 02:53:10
用Java怎么调用操作系统的命令?主要是Unix/linux,调用完之后结果怎么处理呢?
...全文
128 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhoujianghua_2008 2010-10-14
  • 打赏
  • 举报
回复
关注中ING...................没有搞过这方面的。标记下
alongines 2010-10-14
  • 打赏
  • 举报
回复
重赏之下 必有勇夫啊
YY_MM_DD 2010-10-13
  • 打赏
  • 举报
回复
year1234 2010-10-13
  • 打赏
  • 举报
回复
关注中。。。
closewbq 2010-10-13
  • 打赏
  • 举报
回复

public void CmdExec(String[] cmdline){
try{
String line;
Process p =Runtime.getRuntime().exec(cmdline);
BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
line = input.readLine();
while(line != null){
line = input.readLine();
}
input.close();
p.waitFor();
int ret = p.exitValue();
}catch(Exception err){
err.printStackTrace();
}
}

24K純帥 2010-10-13
  • 打赏
  • 举报
回复
Process process = Runtime.getRuntime().exec();
yjflinchong 2010-10-13
  • 打赏
  • 举报
回复
Process process = Runtime.getRuntime().exec("c:/a.txt");
process.waitFor();
dickli1986 2010-10-13
  • 打赏
  • 举报
回复
我写过一个ping命令的,给楼主个参考
Process p = Runtime.getRuntime().exec("ping " + ip);

BufferedReader br = new BufferedReader(
new InputStreamReader(p.getInputStream()));


然后操作BufferedReader就好了
yaoweijq 2010-10-13
  • 打赏
  • 举报
回复
private List execCmd(String cmd) {
List lines = new ArrayList();
try {
LineNumberReader lineReader = new LineNumberReader(new InputStreamReader(
new BufferedInputStream(Runtime.getRuntime().exec(cmd)
.getInputStream())));
String line = null;
while ((line = lineReader.readLine()) != null) {
if (line.trim().length() > 0) {
lines.add(line);
}
}
lineReader.close();
} catch (Exception e) {
e.printStackTrace();
log.error("monitorsystem error", e);
}
return lines;
}
BearKin 2010-10-13
  • 打赏
  • 举报
回复
[Quote=引用楼主 yy_mm_dd 的回复:]
用Java怎么调用操作系统的命令?主要是Unix/linux,调用完之后结果怎么处理呢?
[/Quote]


java.lang
类 Runtime

java.lang.Object
继承者 java.lang.Runtime

public class Runtime
extends Object

每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。可以通过 getRuntime 方法获取当前运行时。

应用程序不能创建自己的 Runtime 类实例。

从以下版本开始:
JDK1.0
另请参见:
getRuntime()

方法摘要
void addShutdownHook(Thread hook)
注册新的虚拟机来关闭挂钩。
int availableProcessors()
向 Java 虚拟机返回可用处理器的数目。
Process exec(String command)
在单独的进程中执行指定的字符串命令。
Process exec(String[] cmdarray)
在单独的进程中执行指定命令和变量。
Process exec(String[] cmdarray, String[] envp)
在指定环境的独立进程中执行指定命令和变量。
Process exec(String[] cmdarray, String[] envp, File dir)
在指定环境和工作目录的独立进程中执行指定的命令和变量。
Process exec(String command, String[] envp)
在指定环境的单独进程中执行指定的字符串命令。
Process exec(String command, String[] envp, File dir)
在有指定环境和工作目录的独立进程中执行指定的字符串命令。
void exit(int status)
通过启动虚拟机的关闭序列,终止当前正在运行的 Java 虚拟机。
long freeMemory()
返回 Java 虚拟机中的空闲内存量。
void gc()
运行垃圾回收器。
InputStream getLocalizedInputStream(InputStream in)
已过时。 从 JDK 1.1 开始,将本地编码字节流转换为 Unicode 字符流的首选方法是使用 InputStreamReader 和 BufferedReader 类。
OutputStream getLocalizedOutputStream(OutputStream out)
已过时。 从 JDK 1.1 开始,将 Unicode 字符流转换为本地编码字节流的首选方法是使用 OutputStreamWriter、BufferedWriter 和 PrintWriter 类。
static Runtime getRuntime()
返回与当前 Java 应用程序相关的运行时对象。
void halt(int status)
强行终止目前正在运行的 Java 虚拟机。
void load(String filename)
加载作为动态库的指定文件名。
void loadLibrary(String libname)
加载具有指定库名的动态库。
long maxMemory()
返回 Java 虚拟机试图使用的最大内存量。
boolean removeShutdownHook(Thread hook)
取消注册某个先前已注册的虚拟机关闭挂钩。
void runFinalization()
运行挂起 finalization 的所有对象的终止方法。
static void runFinalizersOnExit(boolean value)
已过时。 此方法本身具有不安全性。它可能对正在使用的对象调用终结方法,而其他线程正在操作这些对象,从而导致不正确的行为或死锁。
long totalMemory()
返回 Java 虚拟机中的内存总量。
void traceInstructions(boolean on)
启用/禁用指令跟踪。
void traceMethodCalls(boolean on)
启用/禁用方法调用跟踪。
YY_MM_DD 2010-10-13
  • 打赏
  • 举报
回复
就这样简单,有没有具体的例子,满意的我就给100分,不够的我可以再加,很急啊。
swit1983 2010-10-13
  • 打赏
  • 举报
回复
jna 用这个好了。

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧