package lang;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
/**
* execの形式には各種あるので使いやすいものを使うとよい.
* execをすれば、プログラムが起動できるが、コンソール入力・表示はされない.
* それをするには、execの結果戻されるProcessから標準入出力とエラー出力を取得し、
* それらを自ロセスの入出力に接続すればよい.
* しかし、それぞれが非同期に動作する場合を考えると、
* これらの入出力を別のスレッドで操作する必要があり、かなり面倒.
* なお、Swingプログラムのような場合、これら入出力は不要となるので、このような注意は不要である.
* ここでは、単に標準出力を取得してコンソールに表示する例を示す.
*/
class Runtime02 {
public static void main(String[] args) {
try {
Runtime rt = Runtime.getRuntime();
//
// 注意、子プロセスの出力を読む必要があるので、getInputStreamを使用する
Process p = rt.exec("cmd /C dir");
InputStream is = p.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
for (;;) {
String line = br.readLine();
if (line == null) { break; }
System.out.println(line);
}
}
catch(Exception ex) {
ex.printStackTrace();
}
}
}
==
・目次 - Java言語プログラミング入門
http://blogs.yahoo.co.jp/artery2020/39975776.html
・目次 - ビジネスパーソンの常識と非常識
http://blogs.yahoo.co.jp/artery2020/39728331.html
・目次 - 論理・発想・思考についての考察と鍛え方
http://blogs.yahoo.co.jp/artery2020/39657784.html
==