在java的server端有时会利用java去执行一些脚本文件。
这里演示的是window的bat文件,其实在unix或者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();
}
}
}
}