package net.ms.designer.core;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.Properties;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
public class IOStreams
{
public void outputs(Object obj,String file) throws IOException
{
FileOutputStream ostream = new FileOutputStream(file);// �����ļ������
ObjectOutputStream outputs = new ObjectOutputStream(ostream);// ��
outputs.writeObject(obj); // ����̳������л��ӿڵ���
outputs.flush();
outputs.close();
ostream.close();
}
public Object inputs(String file) throws IOException, ClassNotFoundException
{
Object obj=new Object();
FileInputStream istream = new FileInputStream(file); // �����ļ�������
ObjectInputStream inputs = new ObjectInputStream(istream); // ��
obj = (Object)inputs.readObject(); // �����������
istream.close();
return obj;
}
public void transformToFile(Document doc,String outFile) throws TransformerException{
File file = new File(outFile);
StreamResult sr = new StreamResult(file);
TransformerFactory tf = TransformerFactory.newInstance();
Transformer t = tf.newTransformer();
Properties properties = t.getOutputProperties();
properties.setProperty(OutputKeys.ENCODING, "UTF-8");
properties.setProperty(OutputKeys.METHOD, "xml");
properties.setProperty(OutputKeys.VERSION, "1.0");
properties.setProperty(OutputKeys.INDENT, "yes");
t.setOutputProperties(properties);
// now proceed with the transformation
DOMSource doms = new DOMSource(doc);
t.transform(doms, sr);
}
}