私はJavaプログラムの中で "cut"を実行しようとしていますが、コマンドの配列を分割する方法は分かりません。 コマンドラインでの私のプログラムは以下の通りです:Javaで外部プログラムを実行
cut file.txt -d' ' -f1-2 > hits.txt
そして、私はこの
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec(new String[]{"file.txt"," -d' ' -f1-2 "," > hits.txt"});
pr.waitFor();
のようなJavaの内部でそれを実行しようとしています。しかし、私は、次のランタイムエラー
Exception in thread "main" java.io.IOException: Cannot run program "cut file.txt": java.io.IOException: error=2, No such file or directory
を取得します私はexecコマンドとして使用している文字列の配列にこのエラーがあると考えています。これを行う方法に関するアイデア?また、問題に関する既知のドキュメント。ありがとう
「pr2」と「rt2」?変数名を修正してください。 –
Javaプロセスを実行するユーザーにファイル 'file.txt'へのアクセス権がないか、またはおそらくfile.txtがJavaプロセスを実行しているディレクトリと同じディレクトリにないようです。相対パスを修正するか、絶対パスに切り替えることができます。 – Brad
これは正確なコードですか?コマンド配列内にカットしてはいけませんか? –