Java tutorial
/** * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package io.macgyver.ssh; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.concurrent.TimeUnit; import com.google.common.collect.Lists; import com.google.common.io.CharStreams; import net.schmizz.sshj.connection.channel.direct.Session.Command; public class LineResponseCallback extends ResponseCallback<Iterable<String>> { @Override public Iterable<String> handle(Command cmd) throws IOException { InputStream inputStream = cmd.getInputStream(); ArrayList<String> list = Lists.newArrayList(); String line = null; BufferedReader br = new BufferedReader(new InputStreamReader(inputStream, "UTF-8")); while ((line = br.readLine()) != null) { list.add(line); } cmd.join(5, TimeUnit.SECONDS); if (cmd.getExitStatus() != 0) { String x = CharStreams.toString(new InputStreamReader(cmd.getErrorStream(), "UTF-8")); throw new SshException(cmd.getExitStatus(), x); } return list; } }