java调用cmd

没有太多须要说的,java

IO部分掌握的很差啊,期间遇到了乱码问题......这里要mark一下,有时间必定要搞定它。shell

下面直接上代码:spa

package RuntimeTest.RuntimeTest;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args ) throws IOException
    {

        Runtime r=Runtime.getRuntime();
        Process p=r.exec("cmd /c S: && dir && mkdir hello");//执行多条语句,用&&链接
        InputStream is=p.getInputStream();

        BufferedInputStream bis=new BufferedInputStream(is);
        
        byte b[]=new byte[1024];
        String line;
        
        //~
        File f=new File("S:\\f.txt");
        OutputStream os=new FileOutputStream(f);
        BufferedOutputStream bos=new BufferedOutputStream(os);
        
        //~
        
        while(-1!=bis.read(b)){
            line=new String(b,"GBK");//这里不用gbk的话,控制台打印的是乱码......愁~
            bos.write(b);//将结果写到txt里
            System.out.println(line);
        }
        
        bis.close();
        is.close();
        bos.close();
        os.close();
        
    }
}

其实cmd或者shell什么的仍是很好用的。code

不少东西不必定非要用java解决,配合上shell之类的仍是很好的。blog

就是不知道效率怎么样。get

嗯,相似的还有JNI。cmd

相关文章
相关标签/搜索