Java実行システムファイル
次の2つの例は、Windowsのコマンドまたは実行可能ファイルを実行することです.
以下はbatファイルを実行し、このbatファイルの実行はパスに関連しています.
// Java windows exe , notepad,calc
public static void openWinExe() {
Runtime rn = Runtime.getRuntime();
try {
String command = "notepad";
rn.exec(command);
} catch (Exception e) {
System.out.println("Error win exec!");
}
}
// , : exe, .
public static void openExe(String path) {
Runtime rn = Runtime.getRuntime();
try {
rn.exec(path);
} catch (Exception e) {
System.out.println("Error exec!");
}
}
以下はbatファイルを実行し、このbatファイルの実行はパスに関連しています.
import java.io.BufferedReader;
import java.io.BufferedReader;
import java.io.File;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TASK extends Thread {
private String regex = "yyyyMMddHHmmssSSSS";
private Date _inputTime = null;
public TASK(String inputTime) {
super();
try {
_inputTime = new SimpleDateFormat(regex).parse(inputTime);
} catch (ParseException e) {
e.printStackTrace();
}
}
@Override
public void run() {
long time = _inputTime.getTime();
for(;;){
if(time == System.currentTimeMillis()){
break;
}
}
openBat();
}
public static void openBat(){
try{
String _dir = "C:\\udp"; //1. udp
String exeBat = "C:\\udp\\sender.bat"; //2. udp
File dir = new File(_dir);
Process child = Runtime.getRuntime().exec(exeBat,null,dir);
InputStream in = child.getInputStream();
BufferedReader br= new BufferedReader(new InputStreamReader(in));
String line = br.readLine().toString();
while(line!=null ){
System.out.println(line);
line = br.readLine().toString();
}
try{
child.waitFor();
br.close();
in.close();
}catch (Exception e) {
e.printStackTrace();
}
}catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
TASK task = new TASK("20100929144800000"); //3.
task.start();
//javac TASK.java
//java TASK
}
}