2011年计算机二级考试JAVA知识点整理(74)

来源:计算机等级考试    发布时间:2012-08-29    计算机等级考试视频    评论

  5. 格式化输出和指定编码

  默认的输出方式为紧凑方式,默认编码为UTF-8,但对于我们的应用而言,一般都要用到中文,并且希望显示时按自动缩进的方式的显示,这就需用到OutputFormat类。

  /**

  * 格式化XML文档,并解决中文问题

  * @param filename

  * @return

  */

  public int formatXMLFile(String filename){

  int returnValue = 0;

  try{

  SAXReader saxReader = new SAXReader();

  Document document = saxReader.read(new File(filename));

  XMLWriter writer = null;

  /** 格式化输出,类型IE浏览一样 */

  OutputFormat format = OutputFormat.createPrettyPrint();

  /** 指定XML编码 */

  format.setEncoding("GBK");

  writer= new XMLWriter(new FileWriter(new File(filename)),format);

  writer.write(document);

  writer.close();

  /** 执行成功,需返回1 */

  returnValue = 1;

  }catch(Exception ex){

  ex.printStackTrace();

  }

  return returnValue;

  }

  说明:

  OutputFormat format = OutputFormat.createPrettyPrint();

  这句指定了格式化的方式为缩进式,则非紧凑式。

  format.setEncoding("GBK");

  指定编码为GBK。

  XMLWriter writer = new XMLWriter(new FileWriter(new File(filename)),format);

  这与前面两个方法相比,多加了一个OutputFormat对象,用于指定显示和编码方式。

  6. 完整的类代码

  前面提出的方法都是零散的,下面给出完整类代码。

  Dom4jDemo.java

  package com.holen.dom4j;

  import java.io.File;

  import java.io.FileWriter;

  import java.util.Iterator;

  import java.util.List;

  import org.dom4j.Attribute;

  import org.dom4j.Document;

  import org.dom4j.DocumentHelper;

  import org.dom4j.Element;

  import org.dom4j.io.OutputFormat;

  import org.dom4j.io.SAXReader;

  import org.dom4j.io.XMLWriter;

  /**

  * @author Holen Chen

  */

  public class Dom4jDemo {

  public Dom4jDemo() {

  }

  public int createXMLFile(String filename){…}

  public int ModiXMLFile(String filename,String newfilename){…}

  public int formatXMLFile(String filename){…}

  public static void main(String[] args) {

  Dom4jDemo temp = new Dom4jDemo();

  System.out.println(temp.createXMLFile("d://holen.xml")); System.out.println(temp.ModiXMLFile("d://holen.xml","d://holen2.xml"));

  System.out.println(temp.formatXMLFile("d://holen2.xml"));

  }

  }

  说明:

  main()方法中依次调用三个方法,第一个方法用于生成holen.xml,第二个方法用于修改holen.xml,并且修改后的内容另存为holen2.xml,第三个方法将holen2.xml格式化缩进式输出,并指定编码方式为GBK。

  一个应用Dom4j的例子

  [ 2005-4-21 ]

  Created with Colorer-take5 Library. Type 'net.sf.colorer.FileType@777255'

  0: /*

  1: * Created on 2005-4-19

  2: *

  3: * Copyright (c) 2005 Julysea

  4: * Window - Preferences - Java - Code Style - Code Templates

  5: */

  6:

  7: /*应用此log4j的log4j.properties配置文件

  8: *

  9: *#######################################################################

  10: *# Categories and levels

  11: *#######################################################################

  12: *

  13: *log4j.rootCategory=DEBUG, FileApp, ConApp

  14: *log4j.category.de.jayefem=DEBUG, FileApp, ConApp

  15: *

  16: *#######################################################################

  17: *# Appenders

  18: *#######################################################################

  19: *

  20: *# ConApp is set to be a ConsoleAppender.

  21: *log4j.appender.ConApp=org.apache.log4j.ConsoleAppender

  22: *log4j.appender.ConApp.Target=System.out

  23: *log4j.appender.ConApp.layout=org.apache.log4j.PatternLayout

  24: *log4j.appender.ConApp.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

  25: *

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答