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
{
try
{
// 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<String> list = new LinkedList<String> ()
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操作。
改为haha.java.之后可以把文件放在D盘根目录下.开始--运行--输入cmd.进入dos后,在光标定位处输入d: (回车).D:\javac haha.java (回车).D:\java haha (回车)
进入F盘的a目录,在dos提示符下输入javac a1.java;如果编译通过,你会在a1目录下看到a1.class这样一个文件。同时会出现dos提示符,再在dos提示符下输入java a1就可以运行了。
以hello.java为例: 首先,安装jdk并配置环境变量。打开cmd窗口运行java -version检查环境变量是否配置正确。 然后,编译java文件。可以把cmd的路径转换到源文件目录下,也可以直接在命令中加入绝对路径。
比如说保存为"D:\java\test.java",然后转换目录到那里"cd D:\java",编译这个.java文件"javac test.java"这个javac的命令一定要记住,这是jdk里面最为常用的之一,是个java的编译器,具体参数你自己研究吧