Changed motorIO from files to streams
[sw/motorsim] / src / com / billkuker / rocketry / motorsim / io / MotorIO.java
index f5732574cf6205efd2437ba65995b0786bc130bf..a1eaf726dfa841129004576f24b590ac3510d74b 100644 (file)
@@ -4,8 +4,10 @@ import java.io.File;
 import java.io.FileReader;\r
 import java.io.FileWriter;\r
 import java.io.IOException;\r
+import java.io.InputStream;\r
 import java.io.ObjectInputStream;\r
 import java.io.ObjectOutputStream;\r
+import java.io.OutputStream;\r
 import java.io.StringReader;\r
 import java.io.StringWriter;\r
 import java.net.URI;\r
@@ -114,17 +116,15 @@ public class MotorIO {
                return xstream;\r
        }\r
        \r
-       public static void writeMotor(Motor m, File f) throws IOException{\r
-               FileWriter fout = new FileWriter(f);\r
-               ObjectOutputStream out = getXStream().createObjectOutputStream(fout);\r
+       public static void writeMotor(Motor m, OutputStream os) throws IOException{\r
+               ObjectOutputStream out = getXStream().createObjectOutputStream(os);\r
                out.writeObject(m);\r
                out.close();\r
-               fout.close();\r
+               os.flush();\r
        }\r
        \r
-       public static Motor readMotor(File f) throws IOException{\r
-               FileReader fin = new FileReader(f);\r
-               ObjectInputStream in = getXStream().createObjectInputStream(fin);\r
+       public static Motor readMotor(InputStream is) throws IOException{\r
+               ObjectInputStream in = getXStream().createObjectInputStream(is);\r
                Motor m;\r
                try {\r
                        m = (Motor)in.readObject();\r
@@ -134,24 +134,4 @@ public class MotorIO {
                return m;\r
        }\r
        \r
-       public static String writeMotor(Motor m) throws IOException{\r
-               StringWriter sout = new StringWriter();\r
-               ObjectOutputStream out = getXStream().createObjectOutputStream(sout);\r
-               out.writeObject(m);\r
-               out.close();\r
-               sout.close();\r
-               return sout.toString();\r
-       }\r
-       \r
-       public static Motor readMotor(String s) throws IOException{\r
-               StringReader sin = new StringReader(s);\r
-               ObjectInputStream in = getXStream().createObjectInputStream(sin);\r
-               Motor m;\r
-               try {\r
-                       m = (Motor)in.readObject();\r
-               } catch (ClassNotFoundException e) {\r
-                       throw new IOException("Class not found", e);\r
-               }\r
-               return m;\r
-       }\r
 }\r