List of usage examples for com.google.api.client.googleapis.media MediaHttpDownloader setProgressListener
public MediaHttpDownloader setProgressListener(MediaHttpDownloaderProgressListener progressListener)
From source file:GoogleDriveAPI.java
License:Apache License
/** Downloads a file using either resumable or direct media download. */ public static void download(String email, String fileID, String downFile) throws IOException { setup(email);/*from w ww .jav a2 s .c o m*/ // file path parsing String folderName, fileName; int idx = Math.max(downFile.lastIndexOf('/'), downFile.lastIndexOf('\\')); folderName = downFile.substring(0, idx); fileName = downFile.substring(idx + 1); // create parent directory (if necessary) java.io.File parentDir = new java.io.File(folderName); if (!parentDir.exists() && !parentDir.mkdirs()) { throw new IOException("Unable to create parent directory"); } // OutputStream out = new FileOutputStream(new java.io.File(parentDir, // uploadedFile.getTitle())); OutputStream out = new FileOutputStream(new java.io.File(parentDir, fileName)); File fileToDownload = drive.files().get(fileID).execute(); MediaHttpDownloader downloader = new MediaHttpDownloader(httpTransport, drive.getRequestFactory().getInitializer()); // downloader.setDirectDownloadEnabled(useDirectDownload); downloader.setProgressListener(new FileDownloadProgressListener()); downloader.download(new GenericUrl(fileToDownload.getDownloadUrl()), out); }
From source file:api.Captions.java
License:Apache License
/** * Saves caption track to file. (Not permitted for most videos.) * * @param captionId id// w ww. j a va 2 s. c o m * @throws IOException (can be thrown by caption.download method) */ private static void downloadCaption(String captionId) throws IOException { Download captionDownload = yt.captions().download(captionId).setTfmt(SRT); MediaHttpDownloader downloader = captionDownload.getMediaHttpDownloader(); downloader.setDirectDownloadEnabled(false); MediaHttpDownloaderProgressListener downloadProgressListener = new MediaHttpDownloaderProgressListener() { public void progressChanged(MediaHttpDownloader downloader) throws IOException { switch (downloader.getDownloadState()) { case MEDIA_IN_PROGRESS: System.out.println("Download in progress"); System.out.println("Download percentage: " + downloader.getProgress()); break; // This value is set after the entire media file has // been successfully downloaded. case MEDIA_COMPLETE: System.out.println("Download Completed!"); break; // This value indicates that the download process has // not started yet. case NOT_STARTED: System.out.println("Download Not Started!"); break; } } }; downloader.setProgressListener(downloadProgressListener); OutputStream outputFile = new FileOutputStream("captionFile.srt"); captionDownload.executeAndDownloadTo(outputFile); }
From source file:com.datafrog.mms.bak.DriveSample.java
License:Apache License
/** Downloads a file using either resumable or direct media download. */ private static void downloadFile(final boolean useDirectDownload, final File uploadedFile) throws IOException { // create parent directory (if necessary) java.io.File parentDir = new java.io.File(DIR_FOR_DOWNLOADS); if (!parentDir.exists() && !parentDir.mkdirs()) { throw new IOException("Unable to create parent directory"); }// w w w .jav a2 s . com OutputStream out = new FileOutputStream(new java.io.File(parentDir, uploadedFile.getTitle())); MediaHttpDownloader downloader = new MediaHttpDownloader(httpTransport, drive.getRequestFactory().getInitializer()); downloader.setDirectDownloadEnabled(useDirectDownload); downloader.setProgressListener(new FileDownloadProgressListener()); System.out.println("DownLoadURL : " + uploadedFile.getDownloadUrl()); downloader.download(new GenericUrl(uploadedFile.getDownloadUrl()), out); }
From source file:com.github.valentin.fedoskin.fb2me.desktop.drive.DriveSample.java
License:Apache License
/** Downloads a file using either resumable or direct media download. */ private static void downloadFile(boolean useDirectDownload, File uploadedFile) throws IOException { // create parent directory (if necessary) java.io.File parentDir = new java.io.File(DIR_FOR_DOWNLOADS); if (!parentDir.exists() && !parentDir.mkdirs()) { throw new IOException("Unable to create parent directory"); }//from w w w . j av a 2s .c om OutputStream out = new FileOutputStream(new java.io.File(parentDir, uploadedFile.getTitle())); Drive.Files.Get get = drive.files().get(uploadedFile.getId()); MediaHttpDownloader downloader = get.getMediaHttpDownloader(); downloader.setDirectDownloadEnabled(useDirectDownload); downloader.setProgressListener(new FileDownloadProgressListener()); downloader.download(new GenericUrl(uploadedFile.getDownloadUrl()), out); }
From source file:com.mrmq.uyoutube.data.Captions.java
License:Apache License
/** * Downloads a caption track for a YouTube video. (captions.download) * * @param captionId The id parameter specifies the caption ID for the resource * that is being downloaded. In a caption resource, the id property specifies the * caption track's ID./* www. ja va 2 s . c o m*/ * @throws IOException */ private static void downloadCaption(String captionId) throws IOException { // Create an API request to the YouTube Data API's captions.download // method to download an existing caption track. Download captionDownload = youtube.captions().download(captionId).setTfmt(SRT); // Set the download type and add an event listener. MediaHttpDownloader downloader = captionDownload.getMediaHttpDownloader(); // Indicate whether direct media download is enabled. A value of // "True" indicates that direct media download is enabled and that // the entire media content will be downloaded in a single request. // A value of "False," which is the default, indicates that the // request will use the resumable media download protocol, which // supports the ability to resume a download operation after a // network interruption or other transmission failure, saving // time and bandwidth in the event of network failures. downloader.setDirectDownloadEnabled(false); // Set the download state for the caption track file. MediaHttpDownloaderProgressListener downloadProgressListener = new MediaHttpDownloaderProgressListener() { @Override public void progressChanged(MediaHttpDownloader downloader) throws IOException { switch (downloader.getDownloadState()) { case MEDIA_IN_PROGRESS: System.out.println("Download in progress"); System.out.println("Download percentage: " + downloader.getProgress()); break; // This value is set after the entire media file has // been successfully downloaded. case MEDIA_COMPLETE: System.out.println("Download Completed!"); break; // This value indicates that the download process has // not started yet. case NOT_STARTED: System.out.println("Download Not Started!"); break; } } }; downloader.setProgressListener(downloadProgressListener); OutputStream outputFile = new FileOutputStream("captionFile.srt"); // Download the caption track. captionDownload.executeAndDownloadTo(outputFile); }
From source file:de.jlo.talendcomp.google.drive.DriveHelper.java
License:Apache License
private void downloadByUrl(String fileDownloadUrl, String localFilePath, boolean createDirs) throws Exception { checkPrerequisits();/*from www . j a va 2 s .co m*/ lastDownloadedFilePath = null; lastDownloadedFileSize = 0; File localFile = new File(localFilePath); if (createDirs && localFile.getParentFile().exists() == false) { if (localFile.getParentFile().mkdirs() == false) { throw new Exception("Unable to create parent directory: " + localFile.getParent()); } } OutputStream fileOut = new BufferedOutputStream(new FileOutputStream(localFile)); try { MediaHttpDownloader downloader = new MediaHttpDownloader(HTTP_TRANSPORT, driveService.getRequestFactory().getInitializer()); downloader.setDirectDownloadEnabled(false); downloader.setProgressListener(new MediaHttpDownloaderProgressListener() { @Override public void progressChanged(MediaHttpDownloader downloader) throws IOException { info("File status: " + downloader.getDownloadState()); info("Bytes downloaded:" + downloader.getNumBytesDownloaded()); } }); downloader.download(new GenericUrl(fileDownloadUrl), fileOut); if (fileOut != null) { fileOut.flush(); fileOut.close(); fileOut = null; } lastDownloadedFilePath = localFile.getAbsolutePath(); lastDownloadedFileSize = localFile.length(); } catch (Exception e) { if (fileOut != null) { fileOut.flush(); fileOut.close(); fileOut = null; } Thread.sleep(200); if (localFile.canWrite()) { System.err.println("Download failed. Remove incomplete file: " + localFile.getAbsolutePath()); localFile.delete(); } throw e; } }
From source file:de.pfabulist.googledrive.GoogleDriveElsewhere.java
License:BSD License
@Override public void get(String id, long version, OutputStream os) { try {/* ww w. j a va 2 s . c om*/ File metadata = drive.files().get(id).execute(); if (!metadata.getTitle().equals("" + version)) { Log.info("no such version"); return; } MediaHttpDownloader downloader = new MediaHttpDownloader(httpTransport, drive.getRequestFactory().getInitializer()); downloader.setDirectDownloadEnabled(true); // todo false for large files ? downloader.setProgressListener(new FileDownloadProgressListener()); downloader.download(new GenericUrl(metadata.getDownloadUrl()), os); } catch (IOException e) { throw u(e); } }
From source file:google.drive.example.v2.cmdline.DriveSample.java
License:Apache License
/** Downloads a file using either resumable or direct media download. */ private static void downloadFile(boolean useDirectDownload, File uploadedFile) throws IOException { // create parent directory (if necessary) java.io.File parentDir = new java.io.File(DIR_FOR_DOWNLOADS); if (!parentDir.exists() && !parentDir.mkdirs()) { throw new IOException("Unable to create parent directory"); }/* w w w .j a v a 2 s . co m*/ // OutputStream out = new FileOutputStream(new java.io.File(parentDir, uploadedFile.getTitle())); OutputStream out = new FileOutputStream(new java.io.File(parentDir, uploadedFile.getName())); MediaHttpDownloader downloader = new MediaHttpDownloader(httpTransport, drive.getRequestFactory().getInitializer()); downloader.setDirectDownloadEnabled(useDirectDownload); downloader.setProgressListener(new FileDownloadProgressListener()); // downloader.download(new GenericUrl(uploadedFile.getDownloadUrl()), out); }
From source file:net.nharyes.drivecopy.srvc.DriveSdoImpl.java
License:Apache License
@Override public EntryBO downloadEntry(TokenBO token, EntryBO entry) throws SdoException { try {//from www . j a v a 2 s . c om // get file Drive service = getService(token); Get get = service.files().get(entry.getId()); MediaHttpDownloader downloader = new MediaHttpDownloader(httpTransport, service.getRequestFactory().getInitializer()); downloader.setDirectDownloadEnabled(false); downloader.setProgressListener(fileDownloadProgressListener); File file = get.execute(); // check download URL and size if (file.getDownloadUrl() != null && file.getDownloadUrl().length() > 0) { // download file FileOutputStream fout = new FileOutputStream(entry.getFile()); downloader.download(new GenericUrl(file.getDownloadUrl()), fout); fout.flush(); fout.close(); // return entry entry.setMd5Sum(file.getMd5Checksum()); return entry; } else { // the file doesn't have any content stored on Drive throw new ItemNotFoundException(String.format( "Remote file with id '%s' doesn't have any content stored on Drive", entry.getId())); } } catch (IOException ex) { // re-throw exception throw new SdoException(ex.getMessage(), ex); } }
From source file:org.blom.martin.stream2gdrive.Stream2GDrive.java
License:Apache License
public static void download(Drive client, HttpTransport ht, String root, String remote, String local, boolean progress, float chunkSize) throws IOException { OutputStream os;/*from w ww . j a v a2 s . com*/ if (local.equals("-")) { os = System.out; } else { File file = new File(local); if (file.exists()) { throw new IOException(String.format("The local file '%s' already exists", file)); } os = new FileOutputStream(file); } String link = findFile(client, remote, root == null ? "root" : root).getDownloadUrl(); MediaHttpDownloader dl = new MediaHttpDownloader(ht, client.getRequestFactory().getInitializer()); dl.setDirectDownloadEnabled(false); dl.setChunkSize(calcChunkSize(chunkSize)); if (progress) { dl.setProgressListener(new ProgressListener()); } dl.download(new GenericUrl(link), os); }