前提・実現したいこと
javaで外部コマンドを呼び出し、コマンドを実行し、その外部コマンドの標準出力を取得したいのですが、カードのPINの入力を促す文が本来出力される部分で毎回止まってしまいます。普通のコマンドプロンプトで実行した場合は、何の問題もなく成功します。
発生している問題・エラーメッセージ
コマンドプロンプトでコマンドを実行した場合
Using reader with a card: ACS ACR1251 CL Reader PICC 0
Enter PIN [User Authentication PIN]:
という2行が表示され、ここでPINを入力する流れとなっているが、外部コマンドとしてコマンドを実行した場合、
Using reader with a card: ACS ACR1251 CL Reader PICC 0
の1行のみが表示され、次の1行の読み込み中に止まってしまう
該当のソースコード
java
1Process p2 = pb2.start(); 2InputStream is = p2.getInputStream(); 3BufferedReader br = new BufferedReader(new InputStreamReader(is)); 4 5try { 6 for (;;) { 7 String line = br.readLine(); 8 if (line == null) break; 9 System.out.println(line); 10 } 11} finally { 12 br.close(); 13}
あなたの回答
tips
プレビュー