• ベストアンサー

c言語ではsystem(・・・) javaでは?

c言語ではsystem(・・)と書くとコマンドプロセッサ上で 実行してくれます。 http://www.bohyoh.com/CandCPP/C/Library/system.html 例 #include <stdio.h> void main(){ system(dir); } 実行した結果、dirをコマンドプロセッサ上で実行してくれます。 javaで同じことをしたいのですが、どうすればいいのでしょうか。 調べてみた結果わかりませんでした。 できたら簡単なサンプルを教えてくれませんか。 申し訳ありませんが、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • buriburi3
  • ベストアンサー率44% (353/792)
回答No.2

dirと言う実行モジュール(dir.exeまたはdir.com)は存在しないので実行できなくて当然です。 ※Unix系のlsは実行モジュールが存在します。 参考ページにシェルを呼べって書いてありませんでしたか? NT系のWindowsの場合 cmd /C"dir" になると思います。 ※いまさら使わないと思うけど9x系のWindowsだとcommandです。

usa_philly
質問者

お礼

色々ありがとうございます。 解決しました。

その他の回答 (1)

  • buriburi3
  • ベストアンサー率44% (353/792)
回答No.1

検索したらすぐに見つかったよ? http://javafaq.jp/S103.html うろ覚えだけど何か使用上の問題があったような気がします。 ※メモリーリークか何かが原因でエラーが発生したような…

usa_philly
質問者

お礼

ありがとうございます。 そちらのサイトを参考につくってみたのですが、 実行されないんです。 どうしてでしょうか? よろしくお願いします。 import java.io.*; public class TestExec1 { public static void main(String[] args) { try { String s1 = "dir"; Process process = Runtime.getRuntime().exec(s1); InputStream is = process.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); String line; while ((line = br.readLine()) != null) { System.out.println(line); } } catch (Exception e) { e.printStackTrace(); } } }

関連するQ&A