mirror of
https://github.com/sparrowwallet/sparrow.git
synced 2024-12-24 12:46:45 +00:00
ensure wallet export file streams are always closed
This commit is contained in:
parent
45f6ae214a
commit
5ede1dd97d
5 changed files with 4 additions and 7 deletions
|
@ -127,9 +127,10 @@ public class FileWalletExportPane extends TitledDescriptionPane {
|
||||||
private void exportWallet(File file, Wallet exportWallet) {
|
private void exportWallet(File file, Wallet exportWallet) {
|
||||||
try {
|
try {
|
||||||
if(file != null) {
|
if(file != null) {
|
||||||
OutputStream outputStream = new FileOutputStream(file);
|
try(OutputStream outputStream = new FileOutputStream(file)) {
|
||||||
exporter.exportWallet(exportWallet, outputStream);
|
exporter.exportWallet(exportWallet, outputStream);
|
||||||
EventManager.get().post(new WalletExportEvent(exportWallet));
|
EventManager.get().post(new WalletExportEvent(exportWallet));
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
|
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
|
||||||
exporter.exportWallet(exportWallet, outputStream);
|
exporter.exportWallet(exportWallet, outputStream);
|
||||||
|
|
|
@ -202,7 +202,6 @@ public class ColdcardMultisig implements WalletImport, KeystoreFileImport, Walle
|
||||||
}
|
}
|
||||||
|
|
||||||
writer.flush();
|
writer.flush();
|
||||||
writer.close();
|
|
||||||
} catch(Exception e) {
|
} catch(Exception e) {
|
||||||
log.error("Error exporting Coldcard multisig wallet", e);
|
log.error("Error exporting Coldcard multisig wallet", e);
|
||||||
throw new ExportException("Error exporting Coldcard multisig wallet", e);
|
throw new ExportException("Error exporting Coldcard multisig wallet", e);
|
||||||
|
|
|
@ -367,7 +367,6 @@ public class Electrum implements KeystoreFileImport, WalletImport, WalletExport
|
||||||
String json = gson.toJson(eJson);
|
String json = gson.toJson(eJson);
|
||||||
outputStream.write(json.getBytes(StandardCharsets.UTF_8));
|
outputStream.write(json.getBytes(StandardCharsets.UTF_8));
|
||||||
outputStream.flush();
|
outputStream.flush();
|
||||||
outputStream.close();
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("Error exporting Electrum Wallet", e);
|
log.error("Error exporting Electrum Wallet", e);
|
||||||
throw new ExportException("Error exporting Electrum Wallet", e);
|
throw new ExportException("Error exporting Electrum Wallet", e);
|
||||||
|
|
|
@ -28,7 +28,6 @@ public class Sparrow implements WalletExport {
|
||||||
Storage storage = AppServices.get().getOpenWallets().get(wallet);
|
Storage storage = AppServices.get().getOpenWallets().get(wallet);
|
||||||
Files.copy(storage.getWalletFile().toPath(), outputStream);
|
Files.copy(storage.getWalletFile().toPath(), outputStream);
|
||||||
outputStream.flush();
|
outputStream.flush();
|
||||||
outputStream.close();
|
|
||||||
} catch(Exception e) {
|
} catch(Exception e) {
|
||||||
log.error("Error exporting Sparrow wallet file", e);
|
log.error("Error exporting Sparrow wallet file", e);
|
||||||
throw new ExportException("Error exporting Sparrow wallet file", e);
|
throw new ExportException("Error exporting Sparrow wallet file", e);
|
||||||
|
|
|
@ -31,7 +31,6 @@ public class SpecterDesktop implements WalletImport, WalletExport {
|
||||||
String json = gson.toJson(specterWallet);
|
String json = gson.toJson(specterWallet);
|
||||||
outputStream.write(json.getBytes(StandardCharsets.UTF_8));
|
outputStream.write(json.getBytes(StandardCharsets.UTF_8));
|
||||||
outputStream.flush();
|
outputStream.flush();
|
||||||
outputStream.close();
|
|
||||||
} catch(Exception e) {
|
} catch(Exception e) {
|
||||||
log.error("Error exporting Specter Desktop wallet", e);
|
log.error("Error exporting Specter Desktop wallet", e);
|
||||||
throw new ExportException("Error exporting Specter Desktop wallet", e);
|
throw new ExportException("Error exporting Specter Desktop wallet", e);
|
||||||
|
|
Loading…
Reference in a new issue