0

このトピックとほぼ同じですが、ここでは --stdin を使用するスーパーユーザーではありません。

だから私は別の方法を見つけました。バックグラウンドで「シェル」を開き、Stringスルーを介してシェルに入力を与えますInputStream

以下のようなコードを作りました。

String s = "cd bin\n";

byte bb[] = s.getBytes();

InputStream intt = new ByteArrayInputStream(bb);

channel.setInputStream(new FilterInputStream(intt) {
    public int read(byte[] b, int off, int len) throws IOException {
        return in.read(b, off, (len > 1024 ? 1024 : len));
    }
});

これは、1 つのコマンドのみを実行したいが、問題に直面している複数のコマンドを実行したい場合に完全に機能します。

助言がありますか?

よろしく、

イシャン

4

1 に答える 1