zoukankan      html  css  js  c++  java
  • eclipse 调用cmd运行DataX

    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.OutputStreamWriter;
    
    public class TestDatax {
        Process process;
        public void CmdTest(String json) throws IOException {
            process=Runtime.getRuntime().exec("cmd");   //获取控制台
            new Thread(){
                public void run() {
                    try {
                        BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(process.getOutputStream()));  //获取输入流
                        bw.write("CHCP 65001");
                        bw.newLine();
    
                        bw.write("d:");
                        bw.newLine();
    
                        bw.write("cd D:\datax\bin");
                        bw.newLine();//因为读取时是一行行读取的,不加newline无法继续往下读
    
                        bw.write("python datax.py "+json);
                        bw.newLine();
    
    
                        bw.flush();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }.start();;
            new Thread() {
                public void run() {
                    try {
                        BufferedReader br=new BufferedReader(new InputStreamReader(process.getInputStream()));
                        String cmdout="";
                        while ((cmdout=br.readLine())!=null) {
                            System.out.println(cmdout);
                        }
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }.start();
    
        }
    
        public static void main(String[] args) throws IOException {
            TestDatax cmd=new TestDatax();
            String json="D:\datax\job\job.json";
            cmd.CmdTest(json);
    
        }
    }

    from:https://www.cnblogs.com/goubb/p/12416625.html

    控制台出现乱码,因为已经在cmd输入了CHCP 65001,所以只需要更改eclipse的编码方式为utf-8

  • 相关阅读:
    Redis基础-基本数据类型
    C#特性
    C#反射
    Json序列化
    动态添加文本框并获取文本框的值
    iframe中镶嵌html页,并获取html页中的方法
    获取url中的参数
    发送邮件
    数据导入Excel表格
    处理xml模块、configparser模块、hashlib模块、subprocess模块
  • 原文地址:https://www.cnblogs.com/lixv2018/p/12421399.html
Copyright © 2011-2022 走看看