标签:style blog color java os io 文件 数据
package com.cn.javaSE.dom4j; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Date; import java.util.Iterator; import java.util.List; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.Node; import org.dom4j.io.OutputFormat; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; public class WriteXml extends BaseDao { /** * @param args * @throws SQLException * @throws ClassNotFoundException * @throws IOException */ private Connection conn; public static void main(String[] args) throws SQLException, ClassNotFoundException { // TODO Auto-generated method stub //new WriteXml().WriteXmlFile("d://person.xml"); new WriteXml().ReadXmlFile("d://person.xml"); } /** * @return 定义一个方法,用于从数据库中读取数据,然后把数据集存到xml文件中; * @throws ClassNotFoundException * @throws SQLException */ public int WriteXmlFile(String file) throws ClassNotFoundException, SQLException { conn = this.getConn(); Statement st = null; try { st = conn.createStatement(); } catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } String sql = "select * from person"; ResultSet rs = st.executeQuery(sql); Document document = DocumentHelper.createDocument();// 格式文件的输出; document.setXMLEncoding("gb2312"); Date date = new Date(); String s = date.toLocaleString(); int value = 0; // 判断文件是否写入成功的标记; // 为xml添加注释; document.addComment("从数据库meemei中的表person读取数据放到person.xml文件中!修改日期:" + s); Element root = document.addElement("meemei"); OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("gb2312"); while (rs.next()) { // 从数据库中读取数据 Integer id = rs.getInt(1); String user = rs.getString(2); Float salary = rs.getFloat(3); Integer age = rs.getInt(4); String dept1 = rs.getString(5); System.out.println(id + user); Element element = root.addElement("person"); Element ID = element.addElement("id"); Element pname = element.addElement("pname"); Element psalary = element.addElement("psalary"); Element page = element.addElement("page"); Element dept = element.addElement("dept"); // 把从数据库中读取的数据放到xml中; ID.addText(String.valueOf(id)); pname.addText(user); psalary.addText(String.valueOf(salary)); page.addText(String.valueOf(age)); dept.addText(dept1); XMLWriter writer; // 构造文件输出流; try { writer = new XMLWriter(new FileWriter(new File(file)), format); writer.write(document); writer.close(); value = 1;// 执行成功,返回1 ; } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return value; } /** * 从一个xml文件中读取数据,然后存到数据库中; * * @return */ public int ReadXmlFile(String file) { conn = this.getConn(); SAXReader reader = new SAXReader(); int value = 0 ; try { Document doc = reader.read(new File(file)); Element element = doc.getRootElement(); System.out.println("根节点:"+element.getName());//获得根节点 List<Element> list = element.elements() ; Iterator<Element> it = list.iterator() ; String database = element.getName(); System.out.println("数据库名:"+database); String table = "" ; Integer id = 0; String pname = "" ; Float psalary = 0.0f ; Integer page = 0 ; String dept = "" ; while ( it.hasNext() ) { Element e = it.next() ; System.out.println("---------------------------------------"); System.out.println("表名:"+e.getName()); table = e.getName () ; Iterator itor = e.elementIterator() ; while ( itor.hasNext() ) { //-------------id------------ Node idNode = (Node) itor.next(); String idName = idNode.getName(); String idValue = idNode.getText(); id = Integer.valueOf(idValue); System.out.println("节点:"+idName+"---->>值:"+idValue); //------------pname------------- Node nameNode = (Node) itor.next(); String NameName = nameNode.getName(); String NameValue = nameNode.getText(); pname = NameValue ; System.out.println("节点:"+NameName+"---->>值:"+NameValue); //-------------psalary ------------- Node salaryNode =(Node) itor.next(); String salaryName = salaryNode.getName(); String salaryValue = salaryNode.getText(); psalary = Float.valueOf(salaryValue) ; System.out.println("节点:"+salaryName+"---->>值:"+salaryValue); //--------------page-------------- Node ageNode = (Node) itor.next(); String ageName = ageNode.getName(); String ageValue = ageNode.getText(); page = Integer.valueOf(ageValue); System.out.println("节点:"+ageName+"---->>值:"+ageValue); //--------------dept-------------- Node deptNode =(Node) itor.next(); String deptName = deptNode.getName(); String deptValue = deptNode.getText(); dept = deptValue ; System.out.println("节点:"+deptName+"---->>值:"+deptValue); String sql = " insert into "+table+ " values (?,?,?,?,?) "; try { PreparedStatement ps = conn.prepareStatement(sql); ps.setInt(1, id); ps.setString(2, pname); ps.setFloat(3, psalary); ps.setInt(4, page); ps.setString(5, dept); ps.executeUpdate(); } catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } System.out.println(sql); } } } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } return value ; } }
标签:style blog color java os io 文件 数据
原文地址:http://www.cnblogs.com/NoEndForLearning/p/3890624.html