Close resources properly
This commit is contained in:
parent
ff08fdcdf5
commit
daeedc2222
5 changed files with 45 additions and 21 deletions
|
@ -500,14 +500,20 @@ public class Utility {
|
|||
|
||||
try {
|
||||
FileInputStream in = new FileInputStream(from);
|
||||
FileOutputStream out = new FileOutputStream(to);
|
||||
byte[] buffer = new byte[1024];
|
||||
int count = -1;
|
||||
while ((count = in.read(buffer)) > 0) {
|
||||
out.write(buffer, 0, count);
|
||||
try {
|
||||
FileOutputStream out = new FileOutputStream(to);
|
||||
try {
|
||||
byte[] buffer = new byte[1024];
|
||||
int count = -1;
|
||||
while ((count = in.read(buffer)) > 0) {
|
||||
out.write(buffer, 0, count);
|
||||
}
|
||||
} finally {
|
||||
out.close();
|
||||
}
|
||||
} finally {
|
||||
try { in.close(); } catch (Throwable ignore) {}
|
||||
}
|
||||
out.close();
|
||||
in.close();
|
||||
from.delete();
|
||||
return true;
|
||||
} catch (Exception e) {
|
||||
|
|
|
@ -46,8 +46,11 @@ public class BinaryTempFileBody implements Body {
|
|||
public void writeTo(OutputStream out) throws IOException, MessagingException {
|
||||
InputStream in = getInputStream();
|
||||
Base64OutputStream base64Out = new Base64OutputStream(out);
|
||||
IOUtils.copy(in, base64Out);
|
||||
base64Out.close();
|
||||
try {
|
||||
IOUtils.copy(in, base64Out);
|
||||
} finally {
|
||||
base64Out.close();
|
||||
}
|
||||
mFile.delete();
|
||||
}
|
||||
|
||||
|
|
|
@ -1092,8 +1092,11 @@ public class MimeUtility {
|
|||
|
||||
BinaryTempFileBody tempBody = new BinaryTempFileBody();
|
||||
OutputStream out = tempBody.getOutputStream();
|
||||
IOUtils.copy(in, out);
|
||||
out.close();
|
||||
try {
|
||||
IOUtils.copy(in, out);
|
||||
} finally {
|
||||
out.close();
|
||||
}
|
||||
return tempBody;
|
||||
}
|
||||
|
||||
|
|
|
@ -2357,11 +2357,17 @@ public class LocalStore extends Store implements Serializable {
|
|||
* so we copy the data into a cached attachment file.
|
||||
*/
|
||||
InputStream in = attachment.getBody().getInputStream();
|
||||
tempAttachmentFile = File.createTempFile("att", null, attachmentDirectory);
|
||||
FileOutputStream out = new FileOutputStream(tempAttachmentFile);
|
||||
size = IOUtils.copy(in, out);
|
||||
in.close();
|
||||
out.close();
|
||||
try {
|
||||
tempAttachmentFile = File.createTempFile("att", null, attachmentDirectory);
|
||||
FileOutputStream out = new FileOutputStream(tempAttachmentFile);
|
||||
try {
|
||||
size = IOUtils.copy(in, out);
|
||||
} finally {
|
||||
out.close();
|
||||
}
|
||||
} finally {
|
||||
try { in.close(); } catch (Throwable ignore) {}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3357,8 +3363,11 @@ public class LocalStore extends Store implements Serializable {
|
|||
public void writeTo(OutputStream out) throws IOException, MessagingException {
|
||||
InputStream in = getInputStream();
|
||||
Base64OutputStream base64Out = new Base64OutputStream(out);
|
||||
IOUtils.copy(in, base64Out);
|
||||
base64Out.close();
|
||||
try {
|
||||
IOUtils.copy(in, base64Out);
|
||||
} finally {
|
||||
base64Out.close();
|
||||
}
|
||||
}
|
||||
|
||||
public Uri getContentUri() {
|
||||
|
|
|
@ -180,11 +180,14 @@ public class AttachmentProvider extends ContentProvider {
|
|||
if (thumbnail != null) {
|
||||
thumbnail = Bitmap.createScaledBitmap(thumbnail, width, height, true);
|
||||
FileOutputStream out = new FileOutputStream(file);
|
||||
thumbnail.compress(Bitmap.CompressFormat.PNG, 100, out);
|
||||
out.close();
|
||||
try {
|
||||
thumbnail.compress(Bitmap.CompressFormat.PNG, 100, out);
|
||||
} finally {
|
||||
out.close();
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
in.close();
|
||||
try { in.close(); } catch (Throwable ignore) {}
|
||||
}
|
||||
} catch (IOException ioe) {
|
||||
return null;
|
||||
|
|
Loading…
Reference in a new issue