List of usage examples for org.apache.commons.net.io CopyStreamListener CopyStreamListener
CopyStreamListener
From source file:com.unispezi.cpanelremotebackup.ftp.FTPClient.java
/** * Will download the given file/* w ww.j av a2s .com*/ * @param filePath path on server * @param stream stream to write file data to * @param progressListener optional progress listener * @param totalFileBytes total file size in bytes, option if no progressListener is given */ public void downloadFile(String filePath, OutputStream stream, final ProgressListener progressListener, final long totalFileBytes) { String logString = "Downloading \"" + filePath + "\""; assertLoggedIn(logString); try { String origLogString = logString; logString = "Setting file type to binary"; //Patch over for handleException below Log.debug(logString); ftp.setFileType(FTP.BINARY_FILE_TYPE); Log.debug("Reply string was:" + ftp.getReplyString()); checkResult(ftp.getReplyCode(), logString); logString = origLogString; //Logout Log.debug(logString); if (progressListener != null) { ftp.setCopyStreamListener(new CopyStreamListener() { int lastPercentage = 0; @Override public void bytesTransferred(CopyStreamEvent event) { bytesTransferred(event.getTotalBytesTransferred(), event.getBytesTransferred(), event.getStreamSize()); } @Override public void bytesTransferred(long totalBytesTransferred, int bytesTransferred, long streamSize) { int currentPercentage = (int) (totalBytesTransferred * 100 / totalFileBytes); if (currentPercentage > lastPercentage) { lastPercentage = currentPercentage; progressListener.progressPercentageReached(currentPercentage); } } }); } ftp.retrieveFile(filePath, stream); Log.debug("Reply string was:" + ftp.getReplyString()); stream.close(); // Check for errors checkResult(ftp.getReplyCode(), logString); } catch (IOException e) { throw handleException(e, logString); } }
From source file:io.dockstore.common.FileProvisioning.java
/** * Copy from stream to stream while displaying progress * * @param inputStream source//from w ww . j a v a 2 s . c o m * @param inputSize total size * @param outputSteam destination * @throws IOException */ private static void copyFromInputStreamToOutputStream(InputStream inputStream, long inputSize, OutputStream outputSteam) throws IOException { CopyStreamListener listener = new CopyStreamListener() { ProgressPrinter printer = new ProgressPrinter(); @Override public void bytesTransferred(CopyStreamEvent event) { /** do nothing */ } @Override public void bytesTransferred(long totalBytesTransferred, int bytesTransferred, long streamSize) { printer.handleProgress(totalBytesTransferred, streamSize); } }; try (OutputStream outputStream = outputSteam) { Util.copyStream(inputStream, outputStream, Util.DEFAULT_COPY_BUFFER_SIZE, inputSize, listener); } catch (IOException e) { throw new RuntimeException("Could not provision input files", e); } finally { IOUtils.closeQuietly(inputStream); System.out.println(); } }
From source file:com.vimeo.VimeoUploadClient.java
/** * upload file (streaming)/*from w w w . jav a2 s. c om*/ * * @param endpoint */ private void doPut(String endpoint) { URL endpointUrl; HttpURLConnection connection; try { endpointUrl = new URL(endpoint); connection = (HttpURLConnection) endpointUrl.openConnection(); connection.setRequestMethod("PUT"); connection.setRequestProperty("Content-Length", videoFile.length() + ""); connection.setRequestProperty("Content-Type", new MimetypesFileTypeMap().getContentType(videoFile)); connection.setFixedLengthStreamingMode((int) videoFile.length()); connection.setDoOutput(true); CopyStreamListener listener = new CopyStreamListener() { public void bytesTransferred(long totalBytesTransferred, int bytesTransferred, long streamSize) { // TODO: get the values to visualize it: currentStreamSize, // currentBytesTransferred currentStreamSize = streamSize; currentBytesTransferred = totalBytesTransferred; /* * System.out.printf("\r%-30S: %d / %d (%d %%)", "Sent", * totalBytesTransferred, streamSize, totalBytesTransferred * * 100 / streamSize); */ } public void bytesTransferred(CopyStreamEvent event) { } }; InputStream in = new FileInputStream(videoFile); OutputStream out = connection.getOutputStream(); System.out.println("Uploading \"" + videoFile.getAbsolutePath() + "\"... "); long c = Util.copyStream(in, out, Util.DEFAULT_COPY_BUFFER_SIZE, videoFile.length(), listener); System.out.printf("\n%-30S: %d\n", "Bytes sent", c); in.close(); out.close(); // return code System.out.printf("\n%-30S: %d\n", "Response code", connection.getResponseCode()); // TODO: Response code, if everything OK the code is 200 } catch (Exception e) { e.printStackTrace(); } }
From source file:FTPClientExample.java
private static CopyStreamListener createListener() { return new CopyStreamListener() { private long megsTotal = 0; // @Override public void bytesTransferred(CopyStreamEvent event) { bytesTransferred(event.getTotalBytesTransferred(), event.getBytesTransferred(), event.getStreamSize()); }//from w w w. j a va 2s. c om // @Override public void bytesTransferred(long totalBytesTransferred, int bytesTransferred, long streamSize) { long megs = totalBytesTransferred / 1000000; for (long l = megsTotal; l < megs; l++) { System.err.print("#"); } megsTotal = megs; } }; }
From source file:com.interflora.ftp.SampleFTPS.java
private static CopyStreamListener createListener() { return new CopyStreamListener() { private long megsTotal = 0; public void bytesTransferred(CopyStreamEvent event) { bytesTransferred(event.getTotalBytesTransferred(), event.getBytesTransferred(), event.getStreamSize()); }/* ww w. j av a2s . co m*/ public void bytesTransferred(long totalBytesTransferred, int bytesTransferred, long streamSize) { long megs = totalBytesTransferred / 1000000; for (long l = megsTotal; l < megs; l++) { System.err.print("#"); } megsTotal = megs; } }; }
From source file:com.xiangzhurui.util.ftp.FTPClientExample.java
private static CopyStreamListener createListener() { return new CopyStreamListener() { private long megsTotal = 0; @Override//from w w w. j a v a2 s . c om public void bytesTransferred(CopyStreamEvent event) { bytesTransferred(event.getTotalBytesTransferred(), event.getBytesTransferred(), event.getStreamSize()); } @Override public void bytesTransferred(long totalBytesTransferred, int bytesTransferred, long streamSize) { long megs = totalBytesTransferred / 1000000; for (long l = megsTotal; l < megs; l++) { System.err.print("#"); } megsTotal = megs; } }; }
From source file:ch.sdi.core.impl.ftp.FTPClientExample.java
private CopyStreamListener createListener() { return new CopyStreamListener() { private long megsTotal = 0; @Override//from w w w. ja v a 2 s . co m public void bytesTransferred(CopyStreamEvent event) { bytesTransferred(event.getTotalBytesTransferred(), event.getBytesTransferred(), event.getStreamSize()); } @Override public void bytesTransferred(long totalBytesTransferred, int bytesTransferred, long streamSize) { // ??? what does this algo? Print a # for each transferred MB? long megs = totalBytesTransferred / 1000000; for (long l = megsTotal; l < megs; l++) { myLog.warn("#"); } megsTotal = megs; } }; }
From source file:org.neuinfo.foundry.consumers.common.FtpClient.java
private static CopyStreamListener createListener() { return new CopyStreamListener() { private long megsTotal = 0; // @Override public void bytesTransferred(CopyStreamEvent event) { bytesTransferred(event.getTotalBytesTransferred(), event.getBytesTransferred(), event.getStreamSize()); }/*from www . java2 s . c om*/ // @Override public void bytesTransferred(long totalBytesTransferred, int bytesTransferred, long streamSize) { long megs = totalBytesTransferred / 1000000; for (long l = megsTotal; l < megs; l++) { System.err.print("#"); } megsTotal = megs; } }; }