`

Java调用Windows命令

阅读更多
Java调用Windows命令

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;

/**
* Created by IntelliJ IDEA.
* User: leizhimin
* Date: 2008-7-18
* Time: 14:18:27
* Java调用Windows命令测试
*/
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

本文出自 “熔 岩” 博客,请务必保留此出处http://lavasoft.blog.51cto.com/62575/88507
分享到:
评论

相关推荐

    java调用windows命令

    以下是如何使用Java调用Windows命令行的详细步骤和注意事项: 1. **调用外部程序** - 使用`Runtime.getRuntime().exec()`方法创建一个子进程来执行指定的可执行程序。例如: ```java Process process = Runtime....

    java 调用 windows cmd 命令

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

    java 调用doc命令

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

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

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

    java调用DOS命令

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

    使用java调用windows WIN脚本

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

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

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

    JAVA如何调用DOS命令.doc

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

    java 操作windows 共享目录方法介绍

    java 操作windows 共享目录方法介绍

    JAVA调用OS命令删除文件

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

    java 调用 dos 命令

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

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

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

    java调用Windows应用程序

    总的来说,Java调用Windows应用程序主要依赖于`Runtime`类和`ProcessBuilder`类,它们提供了灵活的方式来启动和管理操作系统级别的进程。了解并熟练掌握这两种方式,对于编写跨平台的Java应用至关重要。同时,需要...

    Java调用相应cmd命令的实例

    `dir`是Windows中的目录列出命令,换成其他CMD命令也是一样的调用方式。 2. 使用`ProcessBuilder`调用CMD命令: ```java try { ProcessBuilder pb = new ProcessBuilder("cmd", "/c", "dir"); Process process ...

    java执行系统命令

    java调用执行系统命令的工作类。包括在Linux和windows系统,已经系统错误输出流的监控。

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

    在Java编程环境中,有时我们...不过,根据标题和描述,这个文件很可能包含了一个示例,演示了如何在Java中使用`ProcessBuilder`执行Windows系统命令。如果你能提供代码内容,我可以进一步解释和扩展相关的编程知识点。

    java在windows平台创建快捷方式

    1. **使用Runtime类**:首先,你需要通过Java的`Runtime.getRuntime().exec()`方法执行一个Windows命令。这个命令通常是`cmd.exe /c`,后面接上创建快捷方式的特定命令行。例如,我们可以使用`mklink`命令来创建快捷...

    java实现cmd命令

    用java语言实现windows dos的调用,通过输入dos命令,执行相应的结果

Global site tag (gtag.js) - Google Analytics