private void parseAndFetchFile(final String serverResponse, final File localFile, final OutputStream out, final InputStream in) throws IOException, JSchException { int start = 0; int end = serverResponse.indexOf(' ', start + 1); start = end + 1; end = serverResponse.indexOf(' ', start + 1); final long filesize = Long.parseLong(serverResponse.substring(start, end)); final String filename = serverResponse.substring(end + 1); log("Receiving: " + filename + " : " + filesize); final File transferFile = localFile.isDirectory() ? new File(localFile, filename) : localFile; fetchFile(transferFile, filesize, out, in); waitForAck(in); sendAck(out); }