Process和ProcessBuilder入門【原】

ProcessBuilder優點

ProcessBuilder(XXX).start()和Runtime.exec(XXX)功能相同,主要優點在使用過程中感受有:

  • 前者是jdk1.5后的新方式
  • 配置環境變量時更優雅
  • 對當前目錄的控制也更合理
  • 錯誤流重定向特別方便?
  • 進程控制更簡潔

ProcessTool.java

package test;import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Map;/*** * @author King* @see* @version createTM:2017年11月23日 下午3:41:38*/
public class ProcessTool {public static void main(String[] args) throws IOException {execWindowCmd();}
public static void execWindowCmd() throws IOException {ProcessBuilder pb = new ProcessBuilder();// 命令Map<String, String> env = pb.environment();// 獨立環境變量System.out.println(env);// 打印環境變量env.put("MY_NAME", "KING");// 添加環境變量key-valuepb.redirectErrorStream(true);// 重定向錯誤輸出流到正常輸出流try {pb.directory(new File("d://test1"));// 設置目錄test1pb.command("cmd", "/c", "dir");// 執行命令
            Process process1;process1 = pb.start();// 啟動進程
            BufferedReader br1;br1 = new BufferedReader(new InputStreamReader(process1.getInputStream(), "gbk"));String line1 = null;while ((line1 = br1.readLine()) != null) {System.out.println(line1);}pb.directory(new File("d://test2"));// 設置目錄test2pb.command("cmd", "/c", "dir", ">>", "test1.log");// 執行命令,把結果輸出到test1.logProcess process2 = pb.start();// 啟動進程BufferedReader br2 = new BufferedReader(new InputStreamReader(process2.getInputStream(), "gbk"));String line2 = null;while ((line2 = br2.readLine()) != null) {//因為結果輸出到了文件,所以本處無信息返回
                System.out.println(line2);}} catch (IOException e) {e.printStackTrace();throw e;}}
}

?

?

Java Runtime.exec()的使用

深入研究java.lang.ProcessBuilder類

?

轉載于:https://www.cnblogs.com/whatlonelytear/p/7885270.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/252851.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/252851.shtml
英文地址,請注明出處:http://en.pswp.cn/news/252851.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

如何簡單理解光圈大小對手機攝影的影響?

你&#xff0c;準備好參加今夏的朋友圈攝影大賽了嗎&#xff1f; 現在的天氣有多熱&#xff0c;誰出門誰知道&#xff01;出去玩還要背一臺單反&#xff0c;絕對可以說是一種折磨了。但是&#xff0c;如果你擁有一臺大光圈的手機&#xff0c;一樣可以在朋友圈脫穎而出。 那么…

基于centos6.7的docker私有倉庫搭建

2019獨角獸企業重金招聘Python工程師標準>>> 1 倉庫配置https認證 cd /etc/docker/ mkdir certs [rootdocker01 docker]# openssl req -newkey rsa:4096 -nodes -sha256 -keyout certs/docker01.key -x509 -days 365 -out certs/docker01.crt 填好相應的簡稱及email…

第十周軟件工程作業-每周例行報告

一、PSP T名稱C內容ST開始時間ED結束時間中斷時間/min實際時間/min會議第一次Scrum會議11月17日16:0011月17日16:30030第二次Scrum會議11月18日15:0011月18日15:30030第三次Scrum會議11月19日17:0011月19日17:30030第四次Scrum會議11月20日11:3511月20日12:15040第五次Scrum會議…

卷簾快門與全局快門的區別

https://wenku.baidu.com/view/2f0c8da0ce2f0066f5332283.html

MAVEN下載和安裝

1.maven的下載 下載鏈接http://maven.apache.org/download.cgi從該網站下載最新版本 2.maven的安裝 電腦上需要安裝JDK環境&#xff0c;需要安裝JDK7以上的版本。下載之后進行解壓&#xff0c;將maven解壓到不含中文和空格的一個目錄 maven目錄結構bin目錄&#xff1a;mvn.bat、…

洛谷 P3391 【模板】文藝平衡樹

題目背景 這是一道經典的Splay模板題——文藝平衡樹。 題目描述 您需要寫一種數據結構&#xff0c;來維護一個有序數列&#xff0c;其中需要提供以下操作&#xff1a;翻轉一個區間&#xff0c;例如原有序序列是5 4 3 2 1&#xff0c;翻轉區間是[2,4]的話&#xff0c;結果是5 2 …

CCD/CMOS靶面尺寸型號標準

傳感器尺寸指的是感光器對角線尺寸&#xff0c;1/1.7英寸&#xff08;14.8毫米&#xff0d;&#xff0d;導向管尺寸&#xff09;大于1/2.3英寸&#xff08;10.95毫米&#xff0d;&#xff0d;&#xff0d;導向管尺寸&#xff09;.采用同種技術水平的感光器&#xff0c;肯定是單…

分布式學習基礎知識

網絡通訊&#xff0c;網絡是分布式的基礎&#xff0c;對分布式的理解建立在對網絡的理解上&#xff0c;包括&#xff1a; OSI模型的7層TCP/IP&#xff0c;DNS&#xff0c;NATHTTP&#xff0c;SPDY/HTTP2Telnet網絡編程&#xff0c;是通過程序在多個主機之間通信。包括&#xff…

django中FastDFS客戶端與自定義文件存儲系統

什么是FastDFSFastDFS 是用 c 語言編寫的一款開源的分布式文件系統。FastDFS 為互聯網量身定制&#xff0c; 充分考慮了冗余備份、負載均衡、線性擴容等機制&#xff0c;并注重高可用、高性能等指標&#xff0c;使用 FastDFS 很容易搭建一套高性能的文件服務器集群提供文件上傳…

新近碰到的病毒(TR.Spy.Babonock.A)

先來段Microsoft的說明&#xff1a; Worm:Win32/Babonock.A Alert level: Severe Detected with Windows Defender Antivirus Also detected as:Worm/Win32.AutoIt (AhnLab)Trojan-Spy.Win32.AutoIt.p (Kaspersky)Worm/Autoit.ANVE (AVG)TR/Spy.Babonock.A (Avira)Win32/Autoit…

鏡頭基本參數

非常好的文章 &#xff0c;下載不了&#xff0c;但是會經常閱讀。 https://wenku.baidu.com/view/47a7deddee06eff9aff8074e.html?rec_flagdefault&sxts1529650964474

Linux課程筆記 Day09 課上內容總結 MySql,Php的安裝及Apache,Nginx,Php的優化

一 MySql 1.1 如何選擇MySql的版本 1.2 MySql單實例安裝 &#xff08;1&#xff09; 建立mysql用戶 首先以root身份登陸到linux系統&#xff0c;然后執行如下命令創建mysql用戶及用戶組 [roottest3 ~]# groupadd mysql [roottest3 ~]# useradd -s /sbin/nologin -g …

jenkins 通過自動拉取Gitlab上的代碼實現自動更新NGINX

所需要用到的環境&#xff1a; Gitlab&#xff1a; 172.20.7.70Jenkins&#xff1a; 172.20.7.71nginx&#xff1a; 172.20.7.72 gitlab 和Jenkins安裝自行百度 開始實驗操作 首先通過網頁訪問nginx&#xff0c;nginx默認測試頁我是改了的 &#xff0c;所以看到的不是它原…

Kylin工作原理、體系架構

核心思想&#xff1a;預計算。 對多維分析可能用到的度量進行預計算&#xff0c;將計算好的結果保存成Cube&#xff0c;并存在HBase中&#xff0c;供查詢時直接訪問 將高復雜度的聚合運算、多表連接……操作轉換成對預計算結果的查詢。決定了Kylin擁有很好的快速查詢、高并發能…

工業相機圖像傳感器的靶面大小

在機器視覺中&#xff0c;工業相機是一種比較重要的配件。而在 工業相機中&#xff0c;圖像傳感器又是最最關鍵核心的東西。而圖像傳感器的靶面的大小&#xff0c;往往直接關系到成像的質量。通常來講&#xff0c;圖像的成像質量與像素的大小成正比。這也就意味著&#xff0c;同…

SpringMVC+Mybatis學習

簡單Web項目搭建&#xff1a; 一.流程 1. 導包 n個springMVC&#xff1b; 2個mybatis<其中一個是mybatis-spring>&#xff1b; 3個jackson包&#xff1b; 2. xml配置 web.xml和applicationContext.xml 3. 建包&#xff0c;建接口&#xff0c;建類 4. 建jsp 二&#xff1a…

PPT怎么在線轉視頻?

PPT在線轉視頻的方法有哪些&#xff1f;在PPT中有些播放上的問題還是可以進行文件的轉換&#xff0c;下面就給大家簡單的介紹一下方法。步驟一&#xff1a;PPT轉視頻的直接方法是進入迅捷PDF在線轉換器網站中&#xff0c;點擊導航欄中的視頻音頻轉換中的PPT轉視頻&#xff1b; …

At least one JPA metamodel must be present!

使用spring jpa是一直報這個錯&#xff0c;找了兩天網上沒有找到答案&#xff0c;最后發現時配置配錯了&#xff0c;如下&#xff1a; <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa<…

夜貓子”必需的!——融合夜視技術

融合夜視技術是一項正在發展中的前沿技術&#xff0c;通過將多個工作在不同波段的夜視傳感器獲得的圖像經過處理後生成高質量的融合圖像&#xff0c;融合圖像的分辨率更高&#xff0c;能夠揭示出那些很難被看到的特徵。按照融合的方式&#xff0c;融合夜視技術可以分為數字融合…

Vue中登錄模塊

轉載于:https://www.cnblogs.com/DZzzz/p/8921783.html