问题
I'm uploading a file use Google Api Java Client
Drive
service. I can't find how to close the streams.
final FileContent mediaContent = new FileContent(mimeType, new java.io.File(data));
final Drive.Files.Insert insert = mDriveService.files().insert(fileMetadata, mediaContent);
final MediaHttpUploader uploader = insert.getMediaHttpUploader();
uploader.setDirectUploadEnabled(false);
final File file = insert.execute();
Eventually throwing Strict Mode error
A resource was acquired at attached stack trace but never released. See java.io.Closeable for information on avoiding resource leaks.
java.lang.Throwable: Explicit termination method 'close' not called
at dalvik.system.CloseGuard.open(CloseGuard.java:184)
at java.io.FileInputStream.<init>(FileInputStream.java:80)
at com.google.api.client.http.FileContent.getInputStream(FileContent.java:71)
at com.google.api.client.googleapis.media.MediaHttpUploader.resumableUpload(MediaHttpUploader.java:397)
at com.google.api.client.googleapis.media.MediaHttpUploader.upload(MediaHttpUploader.java:336)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:418)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:343)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:460)
at com.mypackage.MyClass.myMethod(line)
来源:https://stackoverflow.com/questions/24306052/how-to-properly-close-google-api-client-mediahttpuploader