こんにちは、Makotoと申します。
Runtime.execを使って、ディレクトリを作成する
プログラムを作っているのですが、下記のプログラムで
ディレクトリは作成されるのですが、コマンドプロンプト画面が
立ち上がったままになってしまいます。閉じようと思い、8行目でexitコマンド
を発行してみたのですが、うまくいきませんでした。このウィンドウを閉じる
方法はあるのでしょうか?
1:public class test{
2: public static void main(String[] args) throws Exception{
3: Runtime rt = Runtime.getRuntime();
4: Process pr;
5: try {
6: Process proc1 = rt.exec("cmd /C start /MIN
7: mkdir c:\\\poi\\test");
8: proc1 = rt.exec("command.com, /, exit");
9: } catch (java.io.IOException e) {
10: System.err.println(e);
11: System.exit(1);
12: }
13:
14: }
15:}
No.1ベストアンサー
- 回答日時:
k-makotoさんが実際にやりたい事がよく分からないので確認ですが、
・ディレクトリを作成する方法が知りたい。
・Runtime.execで起動したサブプロセスを終了させる方法が知りたい。
どちらなのでしょう?
ディレクトリを作成するだけであれば、わざわざプロセス起動しなくても、File#mkdirでよいと思います。
Runtime.execで起動したサブプロセスを終了させるには、
戻り値から取得できるProcessオブジェクトの、destroyを実行すると、
サブプロセスは終了できます。
ただし、サンプルプログラムは妙なことをしています。
Javaプログラムから、サブプロセスとしてcmd.exeを実行しています。
そしてそのcmd.exeからstartコマンドを起動しています。
startコマンドは、実行するためにウィンドウを開くためのコマンドです。
まずは、cmdとstartのヘルプを見て、動作を確認したほうがよいと思います。
お返事ありがとうございます。
>・Runtime.execで起動したサブプロセスを終了させる方法が知りたい。
の方法が知りたかったのですが、
>ディレクトリを作成するだけであれば、わざわざプロセス起動しなくても、>File#mkdirでよいと思います。
FileのAPIリファレンスを見るとmkdir()がありました。
調査不足でした。(^^;)
Javaからディレクトリの作成ができれば、Runtime#execを
使用する必要がないので、こちらを使用します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Java java final 1 2022/06/10 22:49
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- Java 直し方について教えて頂きたいです。 4 2022/08/13 02:11
- C言語・C++・C# Windows Formアプリからコンソールを呼び出して文字を出力させたい 8 2023/05/09 10:53
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- Java eclipse実行ができない 2 2022/07/27 04:47
- Java Java 配列<選挙> 4 2023/07/31 15:07
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
java 起動中のアプリケーショ...
-
32bitアプリから64bitアプリの...
-
ACCESS VBA からエクセルを最小化
-
C# コマンドプロンプト画面で表...
-
コンパイルできるのに実行できない
-
VBプログラムから「管理者とし...
-
「SimpleEntry を型に解決でき...
-
C#からバッチファイルを起動で
-
SYSTEM関数等を用いて複数のコ...
-
ACCESSでタイトルバーを非表示...
-
MacOS:ターミナルではNPMのコ...
-
ShellExecuteの使い方について
-
CloudSticky.jarが起動しない。
-
Eclipseで、プロジェクト名のと...
-
html上で、バッチやexeファイル...
-
Eclipseのアンインストールの仕方
-
Eclipse(JAVA)のデバッグで他...
-
classファイルについて
-
javaクラスファイルをEclipseで...
-
JSPのクラスをコンパイルできな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSでタイトルバーを非表示...
-
VBプログラムから「管理者とし...
-
ShellExecuteの使い方について
-
MacOS:ターミナルではNPMのコ...
-
CloudSticky.jarが起動しない。
-
batよりjava起動
-
jarファイルをバッチで実行させ...
-
32bitアプリから64bitアプリの...
-
windows power shell icacl
-
staticのメモリ共有について
-
Java VM のヒープサイズについて
-
eclipseからのターミナル実行方...
-
ACCESS VBA からエクセルを最小化
-
SYSTEM関数等を用いて複数のコ...
-
VB6.0 ラベルが文字化け
-
「SimpleEntry を型に解決でき...
-
C#からバッチファイルを起動で
-
javaからバッチファイル実行
-
JAVAでログ出力するには?
-
コマンドを実行してコマンドラ...
おすすめ情報