작업중 필요없어져서 삭제하려다가 저장
Xml 이용해서 정보 저장하는코드. 오브젝트 네임을 바꿨는데 이 과정에서 오류가 약간 있을수도..
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; 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.Attr; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.xml.sax.SAXException; public class SchoolDao { private final Document document; private final Node root; private final File file; public SchoolDao() throws ParserConfigurationException, FileNotFoundException, SAXException, IOException { this("conf", "server.xml"); } public SchoolDao(String filePath, String fileName) throws ParserConfigurationException, FileNotFoundException, SAXException, IOException { file = new File(filePath, fileName); if (file.exists() && file.isFile()) { document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new FileInputStream(file)); root = document.getFirstChild(); } else { document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); root = document.createElement("root"); document.appendChild(root); new File(filePath).mkdirs(); file.createNewFile(); } } public void addSchool(SchoolObject so) { Node school = document.createElement("server"); addNode(school, "name", so.getName()); addNode(school, "score", so.getScore()); root.appendChild(school); } private void addNode(Node parent, String nodeName, String nodeContent){ Node tmpNode; // Attr tmpAttr; tmpNode = document.createElement(nodeName); tmpNode.setTextContent(nodeContent); // ((Element)tmpNode).setAttributeNode(tmpAttr); parent.appendChild(tmpNode); } public void write() throws TransformerException { TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); DOMSource source = new DOMSource(document); StreamResult result = new StreamResult(file); transformer.transform(source, result); // Output to console for testing StreamResult consoleResult = new StreamResult(System.out); transformer.transform(source, consoleResult); } public static void main(String[] args) throws FileNotFoundException, ParserConfigurationException, SAXException, IOException, TransformerException { SchoolDao dao = new SchoolDao(); SchoolObject so = new SchoolObject("schoolname"); so.setScore(100); dao.addHost(so); dao.write(); } }