您好,欢迎访问本站博客! 控制台  查看权限
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧
  • 网站所有资源均来自网络,如有侵权请联系站长删除!

Java调用CMD执行Python命令

Linux Sena 2018-05-24 161 次浏览 0个评论


        // python 自动摘要程序
        String pythonVersion = PorpertiesUtil.PYTHON_CMD + " " + path + "chengxu//2.0文章自动摘要提取.py";
            
        doCmd(pythonVersion);



使用CMD执行命令后, 防止线程阻塞,  开启两个线程进行疏通

        public void doCmd(String cmd) throws Exception {
		final Process process = Runtime.getRuntime().exec(cmd);
		System.out.println("start run cmd=" + cmd);

		// 处理InputStream的线程
		new Thread() {
			@Override
			public void run() {
				BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()));
				String line = null;

				try {
					while ((line = in.readLine()) != null) {
						System.out.println("output: " + line);
					}
				} catch (IOException e) {
					e.printStackTrace();
				} finally {
					try {
						in.close();
					} catch (IOException e) {
						e.printStackTrace();
					}
				}
			}
		}.start();

		new Thread() {
			@Override
			public void run() {
				BufferedReader err = new BufferedReader(new InputStreamReader(
						process.getErrorStream()));
				String line = null;

				try {
					while ((line = err.readLine()) != null) {
						System.out.println("err: " + line);
					}
				} catch (IOException e) {
					e.printStackTrace();
				} finally {
					try {
						err.close();
					} catch (IOException e) {
						e.printStackTrace();
					}
				}
			}
		}.start();

		process.waitFor();
		System.out.println("finish run cmd=" + cmd);
	}


已有 161 位网友参与,快来吐槽:

发表评论