forked from External/mage
fixed unclosed resources in copy method in mage framework Copier
This commit is contained in:
parent
91b538be63
commit
dc25eedfc3
3 changed files with 42 additions and 5 deletions
|
|
@ -50,22 +50,29 @@ public class Copier<T> {
|
|||
|
||||
public T copy(T obj) {
|
||||
T copy = null;
|
||||
|
||||
FastByteArrayOutputStream fbos = null;
|
||||
ObjectOutputStream out = null;
|
||||
ObjectInputStream in = null;
|
||||
try {
|
||||
FastByteArrayOutputStream fbos = new FastByteArrayOutputStream();
|
||||
ObjectOutputStream out= new ObjectOutputStream(fbos);
|
||||
fbos = new FastByteArrayOutputStream();
|
||||
out = new ObjectOutputStream(fbos);
|
||||
|
||||
// Write the object out to a byte array
|
||||
out.writeObject(obj);
|
||||
out.flush();
|
||||
out.close();
|
||||
|
||||
// Retrieve an input stream from the byte array and read
|
||||
// a copy of the object back in.
|
||||
ObjectInputStream in = new CopierObjectInputStream(loader, fbos.getInputStream());
|
||||
in = new CopierObjectInputStream(loader, fbos.getInputStream());
|
||||
copy = (T) in.readObject();
|
||||
}
|
||||
catch(IOException | ClassNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
StreamUtils.closeQuietly(fbos);
|
||||
StreamUtils.closeQuietly(out);
|
||||
StreamUtils.closeQuietly(in);
|
||||
}
|
||||
return copy;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue