From d281e244ca2302407ee6f3a9c4fca9df238038aa Mon Sep 17 00:00:00 2001 From: Bill Kuker Date: Sat, 6 Nov 2010 19:13:36 +0000 Subject: [PATCH] Changed motorIO from files to streams --- MotorIOTest.xml | 8 +++++++- .../motorsim/visual/workbench/MotorWorkbench.java | 8 ++++++-- .../billkuker/rocketry/motorsim/io/MotorIO.java | 14 +++++++------- .../rocketry/motorsim/test/MotorIOTest.java | 6 ++++-- 4 files changed, 24 insertions(+), 12 deletions(-) diff --git a/MotorIOTest.xml b/MotorIOTest.xml index deca6d5..52d462d 100644 --- a/MotorIOTest.xml +++ b/MotorIOTest.xml @@ -5,7 +5,13 @@ 31 mm 200 mm - + + + + motorsim:KNSU + + + 2 diff --git a/gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorWorkbench.java b/gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorWorkbench.java index 894f599..d8065bc 100644 --- a/gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorWorkbench.java +++ b/gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorWorkbench.java @@ -8,6 +8,8 @@ import java.awt.event.ActionListener; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; import java.util.HashMap; import java.util.Vector; @@ -143,7 +145,7 @@ public class MotorWorkbench extends JFrame implements TreeSelectionListener { } try { Motor m = MotorIO - .readMotor(file); + .readMotor(new FileInputStream(file)); addMotor(m, file); } catch (Exception e) { @@ -355,7 +357,9 @@ public class MotorWorkbench extends JFrame implements TreeSelectionListener { private void save(Motor m, File f) { try { - MotorIO.writeMotor(m, f); + FileOutputStream fo; + MotorIO.writeMotor(m, fo = new FileOutputStream(f)); + fo.close(); } catch (Throwable t) { JOptionPane.showMessageDialog(MotorWorkbench.this, t.getMessage()); } diff --git a/src/com/billkuker/rocketry/motorsim/io/MotorIO.java b/src/com/billkuker/rocketry/motorsim/io/MotorIO.java index d328a44..a1eaf72 100644 --- a/src/com/billkuker/rocketry/motorsim/io/MotorIO.java +++ b/src/com/billkuker/rocketry/motorsim/io/MotorIO.java @@ -4,8 +4,10 @@ import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; +import java.io.InputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; +import java.io.OutputStream; import java.io.StringReader; import java.io.StringWriter; import java.net.URI; @@ -114,17 +116,15 @@ public class MotorIO { return xstream; } - public static void writeMotor(Motor m, File f) throws IOException{ - FileWriter fout = new FileWriter(f); - ObjectOutputStream out = getXStream().createObjectOutputStream(fout); + public static void writeMotor(Motor m, OutputStream os) throws IOException{ + ObjectOutputStream out = getXStream().createObjectOutputStream(os); out.writeObject(m); out.close(); - fout.close(); + os.flush(); } - public static Motor readMotor(File f) throws IOException{ - FileReader fin = new FileReader(f); - ObjectInputStream in = getXStream().createObjectInputStream(fin); + public static Motor readMotor(InputStream is) throws IOException{ + ObjectInputStream in = getXStream().createObjectInputStream(is); Motor m; try { m = (Motor)in.readObject(); diff --git a/test/com/billkuker/rocketry/motorsim/test/MotorIOTest.java b/test/com/billkuker/rocketry/motorsim/test/MotorIOTest.java index b401bc5..b77dba9 100644 --- a/test/com/billkuker/rocketry/motorsim/test/MotorIOTest.java +++ b/test/com/billkuker/rocketry/motorsim/test/MotorIOTest.java @@ -2,6 +2,8 @@ package com.billkuker.rocketry.motorsim.test; import java.beans.PropertyVetoException; import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; import javax.measure.unit.SI; @@ -48,9 +50,9 @@ public class MotorIOTest { File f = new File("MotorIOTest.xml"); - MotorIO.writeMotor(m, f); + MotorIO.writeMotor(m, new FileOutputStream(f)); - MotorIO.readMotor(f); + MotorIO.readMotor(new FileInputStream(f)); } } -- 2.30.2