`
scorpiomiracle
  • 浏览: 263487 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

java调用windows命令

阅读更多
  ——http://lavasoft.blog.51cto.com/62575/88507
  Java调用Windows命令主要用到两个类:

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

  java.lang.Process
  ProcessBuilder.start() 和 Runtime.exec 方法创建一个本机进程,并返回 Process 子类的一个实例,该实例可用来控制进程并获取相关信息。Process 类提供了执行从进程输入、执行输出到进程、等待进程完成、检查进程的退出状态以及销毁(杀掉)进程的方法。 对于带有 Process 对象的 Java 进程,没有必要异步或并发执行由 Process 对象表示的进程。

  下面是个简单例子:
package com.lavasoft;

import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
 
public class TestCmd {

public static void main(String args[]) {
testWinCmd();
dirOpt();
}

public static void testWinCmd() {
System.out.println("------------------testWinCmd()--------------------");
Runtime runtime = Runtime.getRuntime();
System.out.println(runtime.totalMemory());
System.out.println(runtime.freeMemory());
System.out.println(runtime.maxMemory());
System.out.println(runtime.availableProcessors()); //处理器数
try {
//执行一个exe文件
runtime.exec("notepad");
runtime.exec("C:\\Program Files\\Microsoft Office\\OFFICE11\\winword.exe c:\\test.doc");
//执行批处理
runtime.exec("c:\\x.bat");
//执行系统命令
runtime.exec("cmd /c dir ");
runtime.exec("cmd /c dir c:\\");

// //-------------- 文件操作 --------------

runtime.exec("cmd /c copy c:\\x.bat d:\\x.txt"); //copy并改名
runtime.exec("cmd /c rename d:\\x.txt x.txt.bak"); //重命名
runtime.exec("cmd /c move d:\\x.txt.bak c:\\"); //移动
runtime.exec("cmd /c del c:\\x.txt.bak"); //删除

//-------------- 目录操作 --------------
runtime.exec("cmd /c md c:\\_test"); //删除
} catch (IOException e) {
e.printStackTrace();
}
}


public static void dirOpt() {
System.out.println("------------------dirOpt()--------------------");
Process process;
try {
//执行命令
process = Runtime.getRuntime().exec("c:\\x.bat");
//取得命令结果的输出流
InputStream fis = process.getInputStream();
//用一个读输出流类去读
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
String line = null;
//逐行读取输出到控制台
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}


x.bat文件内容:
del c:\del.txt
cd D:
dir


运行结果:
------------------testWinCmd()--------------------
2031616
1652120
66650112
2
------------------dirOpt()--------------------

D:\_dev_stu\fileopt>del c:\del.txt

D:\_dev_stu\fileopt>cd D:
D:\_dev_stu\fileopt

D:\_dev_stu\fileopt>dir
驱动器 D 中的卷是 DISK1_VOL2
卷的序列号是 70FB-DFAF

D:\_dev_stu\fileopt 的目录

2008-07-18 09:30 <DIR> .
2008-07-18 09:30 <DIR> ..
2008-07-18 09:30 <DIR> src
2008-07-18 09:31 549 fileopt.iml
2008-07-18 09:31 10,292 fileopt.ipr
2008-07-18 14:27 <DIR> classes
2008-07-18 16:42 26,265 fileopt.iws
3 个文件 37,106 字节
4 个目录 8,095,498,240 可用字节

Process finished with exit code 0

附:打开一个不可执行的文件,但该文件存在关联的应用程序,则可以有两种方式。 以打开一个word文档a.doc文件为例:
exec("start .\\a.doc");
exec("c:\\Program Files\\Microsoft Office\\office\\winword.exe .\\a.doc");
显然,前一种方法更为简捷方便。
分享到:
评论

相关推荐

    java 调用 windows cmd 命令

    总结,通过Java调用Windows CMD命令,我们可以方便地执行系统级任务,实现与操作系统的交互。`FileProcessInShell.java`可能就是这样一个例子,它演示了如何在Java程序中执行和处理CMD命令的输出。在实际开发中,...

    java 调用doc命令

    Java调用doc命令主要涉及到的是Java的进程操作和命令行接口。在Windows操作系统中,`.doc`文件通常是由Microsoft Word创建的文档。然而,“doc命令”可能是指通过命令行(CMD)来操作或处理这些文档的方式,比如使用...

    java调用DOS命令

    Java调用DOS命令是指在Java程序中执行操作系统级别的命令,比如Windows下的CMD命令或Linux下的Shell命令。这种功能在很多场景下都很有用,比如自动化脚本、文件操作、系统管理等。Java提供了Runtime类和...

    使用java调用windows WIN脚本

    这篇博客文章"使用Java调用Windows WIN脚本"探讨了如何利用Java的接口来与Windows环境进行交互,实现这种跨平台语言与操作系统功能的融合。 首先,Java中可以通过`Runtime`或`ProcessBuilder`类来执行外部命令,...

    windows下java调用ffmpeg视频处理环境搭建

    在Windows环境下,使用Java调用FFmpeg进行视频处理是一项常见的任务,尤其在开发涉及多媒体处理的应用时。FFmpeg是一款强大的跨平台的音频和视频处理工具,而Java则是一种广泛使用的编程语言,它提供了丰富的库来与...

    Linux环境下实现Java调用Windows环境下的Matlab函数

    ### Linux环境下实现Java调用Windows环境下的Matlab函数 #### 一、所需条件及说明 为了实现在Linux环境中通过Java程序来调用Windows系统下的Matlab函数,首先需要确保满足以下条件: 1. **Windows环境下**: - ...

    java 调用windows的一些可执行文件

    这可能涉及使用Windows上的某个音频转换工具,如ffmpeg,通过Java调用来实现。具体的实现细节取决于代码内容,但基本思路是构建正确的命令行指令,并使用Runtime或ProcessBuilder来执行。 6. **安全注意事项**:...

    JAVA如何调用DOS命令.doc

    总之,Java调用DOS命令主要依赖`Runtime`和`Process`类,需要注意命令格式、标准输出处理以及资源管理等问题,以确保命令的正确执行和程序的稳定运行。在实际开发中,应充分考虑各种情况,以保证代码的健壮性和跨...

    java 使用dos命令详解

    #### 一、Java调用DOS命令的基础方法 Java提供了`Runtime`类以及其子类`Process`来实现对操作系统的调用。其中,`Runtime.getRuntime().exec(command)`是执行外部程序的主要方法,它可以创建一个新进程并返回一个`...

    java系统命令调用

    本文将详细介绍如何使用Java Runtime类中的`getRuntime().exec()`方法来调用系统命令,并提供一些实际应用场景的例子。 ### Java Runtime.getRuntime().exec() `java.lang.Runtime`类提供了运行时系统的表示形式,...

    JAVA调用OS命令删除文件

    下面我们将深入探讨如何在Java中调用OS命令来删除文件,并分析这种方法相对于Java内置的文件操作方法的优缺点。 首先,我们来看一个简单的示例,展示如何使用`Runtime`类来执行删除文件的命令。假设我们要删除的...

    Java调用应用程序和Dos中的命令

    ### Java调用应用程序和Dos中的命令 在Java编程中,有时候我们需要执行一些操作系统级别的任务,例如启动一个外部程序、执行一些系统命令等。这通常可以通过Java的`Runtime`类实现,尤其是通过`Runtime.exec()`方法...

    java使用windows命令行获取返回内容

    java使用windows命令行获取返回内容

    java调用Windows应用程序

    ### Java调用Windows应用程序知识点详解 #### 一、概述 在Java编程中,有时我们需要让Java程序去调用操作系统中的其他应用程序,例如打开记事本(Notepad)、启动计算器(Calculator)等。这种方式不仅可以增强...

    java 调用 dos 命令

    Java调用DOS命令主要涉及Java的Runtime类和ProcessBuilder类,这两个类允许Java程序执行外部命令,也就是我们常说的DOS命令或者Windows命令行指令。这个过程通常被称为进程交互或者系统调用。 首先,Runtime类是每...

    java+powershell 控制windows

    在这个场景下,我们可以利用 Java 编写的程序来调用 PowerShell 命令,实现对 Windows 的各种操作。 首先,让我们详细了解如何通过 Java 调用 PowerShell 脚本: 1. **调用 PowerShell 命令**: 在 Java 中,我们...

    超详细!java访问windows共享目录并下载文件

    总结来说,这个Java程序通过调用系统命令或使用特定库,实现了访问Windows共享目录的功能,并能够从指定路径下载文件到本地。`SmbUtils.java`和`CmdUtils.java`是实现这一功能的核心组件,它们分别负责SMB操作和系统...

Global site tag (gtag.js) - Google Analytics