java在dos命令_JAVA中如何执行DOS命令

展开全部

1. 使用Process类操作

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

import java.io.SequenceInputStream;

public class Processing

{

public static void main ( String[] args ) throws InterruptedException

{

32313133353236313431303231363533e4b893e5b19e31333337396233try

{

// open cmd

// Process process = Runtime.getRuntime ().exec (new String[] {

// "cmd", "/c", "dir" }, null, new File ("e:/"));

Process process = Runtime.getRuntime ().exec ("cmd");

SequenceInputStream sis = new SequenceInputStream (process.getInputStream (), process.getErrorStream ());

InputStreamReader isr = new InputStreamReader (sis, "GBK");

BufferedReader br = new BufferedReader (isr);

// next command

OutputStreamWriter osw = new OutputStreamWriter (process.getOutputStream ());

BufferedWriter bw = new BufferedWriter (osw);

bw.write ("cd C:/WINDOWS/audio/");

bw.newLine ();

bw.write ("c:");

bw.newLine ();

bw.write ("ffmpeg -i keyboard.wav keyboard.mp3");

bw.newLine ();

bw.flush ();

bw.close ();

osw.close ();

// read

String line = null;

while (null != ( line = br.readLine () ))

{

System.out.println (line);

}

// wait for termination

/*process.waitFor ();

process.exitValue ();*/

process.destroy ();

br.close ();

isr.close ();

}

catch (IOException e)

{

e.printStackTrace ();

}

// catch (InterruptedException e)

// {

// e.printStackTrace ();

// }

}

}

2. 使用ProcessBuilder类操作。

import java.io.BufferedReader;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.util.LinkedList;

public class TestProcessBuilder

{

public static void main ( String[] args ) throws Exception

{

ProcessBuilder builder = new ProcessBuilder ("cmd", "/c", "ipconfig /all");

//builder.directory (new File ("C:\\WINDOWS\\audio"));

Process process = builder.start ();

InputStream is = process.getInputStream ();

InputStreamReader isr = new InputStreamReader (is, "GBK");

BufferedReader br = new BufferedReader (isr);

LinkedList list = new LinkedList ();

String line;

String regex = ".*Ethernet adapter(.*)\\:.*";

while (null != ( line = br.readLine () ))

{

if (!"".equals (line))

{

if (line.matches (regex))

{

list.add (line.replaceAll (regex, "$1"));

}

System.out.println (line);

}

}

br.close ();

isr.close ();

is.close ();

process.destroy ();

System.out.println (list);

}

}

3. 使用Runtime操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值