0
Channel channel = session.openChannel("exec");
((ChannelExec) channel).setCommand(command);

channel.setXForwarding(true);
channel.connect();

InputStream in = channel.getInputStream();

byte[] tmp = new byte[7196274];

while (true) {
    while (in.available() > 0) {
        System.out.println("in try");
        int i = in.read(tmp, 0, 7196274);
        System.out.println("in try i val" + i);
        if (i < 0)
            break;
        String strResult = new String(tmp, 0, i);

        System.out.println(strResult);

    }
    if (channel.isClosed()) {
        in.close();

        break;
    }

このコードは、小さなファイルに対してのみ適切な出力を提供しています。バイトを使用せずに出力をファイルに直接読み込みたいですか?

4

1 に答える 1

0

結果をパイプする必要があります。例:ps -ef> filename

于 2012-11-19T07:00:32.860 に答える