<OD>31 mm</OD>
<length>200 mm</length>
</chamber>
- <fuel class="com.billkuker.rocketry.motorsim.fuel.KNSU"/>
+ <fuel class="com.billkuker.rocketry.motorsim.fuel.KNSU" serialization="custom">
+ <java.net.URI>
+ <default>
+ <string>motorsim:KNSU</string>
+ </default>
+ </java.net.URI>
+ </fuel>
<grain class="com.billkuker.rocketry.motorsim.grain.MultiGrain">
<count>2</count>
<grain class="com.billkuker.rocketry.motorsim.grain.CoredCylindricalGrain">
import java.beans.PropertyChangeEvent;\r
import java.beans.PropertyChangeListener;\r
import java.io.File;\r
+import java.io.FileInputStream;\r
+import java.io.FileOutputStream;\r
import java.util.HashMap;\r
import java.util.Vector;\r
\r
}\r
try {\r
Motor m = MotorIO\r
- .readMotor(file);\r
+ .readMotor(new FileInputStream(file));\r
addMotor(m, file);\r
\r
} catch (Exception e) {\r
\r
private void save(Motor m, File f) {\r
try {\r
- MotorIO.writeMotor(m, f);\r
+ FileOutputStream fo;\r
+ MotorIO.writeMotor(m, fo = new FileOutputStream(f));\r
+ fo.close();\r
} catch (Throwable t) {\r
JOptionPane.showMessageDialog(MotorWorkbench.this, t.getMessage());\r
}\r
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
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
\r
import java.beans.PropertyVetoException;\r
import java.io.File;\r
+import java.io.FileInputStream;\r
+import java.io.FileOutputStream;\r
\r
import javax.measure.unit.SI;\r
\r
\r
File f = new File("MotorIOTest.xml");\r
\r
- MotorIO.writeMotor(m, f);\r
+ MotorIO.writeMotor(m, new FileOutputStream(f));\r
\r
- MotorIO.readMotor(f);\r
+ MotorIO.readMotor(new FileInputStream(f));\r
\r
}\r
}\r