在java的server端有時會利用java去執行一些腳本文件。 java
這裏演示的是window的bat文件,其實在unix或者linux執行腳本是相同的邏輯 linux
import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Timer; import java.util.TimerTask; public class TimerTest { public static void main(String args[]) { TimerTest test = new TimerTest(); //System.out.println("Begin"); //System.out.println("Current Thread " + Thread.currentThread().getId()); Timer timer = new Timer(); timer.schedule(test.new TimeTaskTest("Test1"), 1000); //timer.schedule(test.new TimeTaskTest("Test2"), 1000); //System.out.println("End"); } class TimeTaskTest extends TimerTask { private String name; public TimeTaskTest(String name) { this.name = name; } @Override public void run() { //logger.info("Starting to run command:" + sb.toString()); try { Process process = Runtime.getRuntime().exec("cmd C:\\workspace\\Test\\JavaIO\\Test.bat"); BufferedReader read = new BufferedReader(new InputStreamReader(process.getInputStream())); String line = ""; while((line = read.readLine()) != null){ System.out.println(line); } //p.waitFor(); } catch (Throwable t) { //logger.warn("Failed to update solr index...", t); t.printStackTrace(); } } } }