-1

次のコマンドを使用して、Perl から Java コードを呼び出しています。

 $fh = IO::Handle->new();
 open($fh,"| $command");

コマンドは次のとおりです。java MyJavaClass

Java コードでは、 を使用してユーザーにパスワードの入力を求める必要がありますSystem.in

while (true)
{
    switch (c = in.read())
    {
        case '\n':
            break loop;
    }
}

問題は、in.read()-1、つまりストリームの終わりを返すことです。

誰か提案はありますか?

4

1 に答える 1

0

開いているパイプには何も渡しません。そして、上書きする必要はありIO::Handleませopen()$fh。私はそれが次のように見えるべきだと思います

 open(my $fh,"| $command");
 print $fh "Mypassword\n";
于 2013-03-06T11:58:47.000 に答える