- 浏览: 255542 次
- 性别:
- 来自: 济南
文章分类
最新评论
-
MR3CHEN:
gaojiehigh 写道正在找这样的方法,我不过发现了一个问 ...
Java删除文件夹以及文件夹下的子目录与文件 -
gaojiehigh:
正在找这样的方法,我不过发现了一个问题,嘿嘿
[img][/i ...
Java删除文件夹以及文件夹下的子目录与文件 -
mimang2007110:
这个方法很实用,刚才适用了一下,挺好的,多谢
Java删除文件夹以及文件夹下的子目录与文件 -
sblig:
int icount = toKenizer.countT ...
Java拆分字符串返回数组 -
haiyangyiba:
文件夹中有中文文件不行,
Java解压缩ZIP文件同时包含Jar包解决ZIP包中含有中文名称信息的文件
package com.yc.ycportal.ge.util;
import java.io.FileInputStream;
import java.util.Enumeration;
import java.util.List;
import java.util.Properties;
import java.util.ResourceBundle;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
/**
* @author
* 本类的作用是对properties和xml文件的解析,重点在于包括xml文件的两种解析方式
* 现在有三种用于Java的流行xml解析技术,文档对象模型(Document Object Model,DOM),基于W3C的
* 成熟标准,2、用于XML的简单API(Simple API for XML),第一个被广泛采用的用Java编写的XML API
* 是一个事实上的标准,3、用于XML的数据流API(Straming API for XML,StAX),JSR-173中采用
* 的一个新解析模型
*/
public class ParseFile {
public static ParseFile getInterface(){
return new ParseFile();
}
/**解析Properties文件获取数据信息*/
/**
*properties的文件格式为
*username=sa
*userpass=123以第一等号为标准,后面为它的值
*/
public List getPropertes(String fileName){
List list = null;
ResourceBundle rb = ResourceBundle.getBundle(fileName);
list.add(rb.getString("username"));
list.add(rb.getString("userpass"));
return list;
}
/**用SAX方式解析XML文件获取数据信息,创建一个解析XML文件的内部类解析器*/
class ParseXML extends DefaultHandler{
//所有的方法是子类重写父类的方法
String currentName = null;
StringBuffer currentValue = new StringBuffer();
Properties properties = null;
//接收元素开始的通知。
//默认情况下,不执行任何操作。应用程序编写者可以在子类中重写此方法,以便在每个元素的开始处采取特定的操作
public void startElement(String uri,String localName,String qName,Attributes attributes)throws SAXException{
this.currentValue.delete(0, this.currentValue.length());
this.currentName = qName;
}
//接收元素中字符数据的通知
//默认情况下,不执行任何操作。应用程序编写者可以重写此方法,以便对每块字符数据采取特定的措施
//如将该数据添加到节点或缓冲区,或者将该数据打印到文件。
public void characters(char[] ch,int start,int length)throws SAXException{
this.currentValue.append(ch,start,length);
}
//接收元素结束的通知
//默认情况下,不执行任何操作。应用程序编写者可以在子类中重写此方法,以便在每个元素的结束处采取特定的操作
//如,结束树节点或将输出写入文件。
public void endElement(String uri,String localName,String qName)throws SAXException{
this.properties.put(qName.toLowerCase(), this.currentValue.toString().trim());
}
//返回存储XML信息数据的properties
public Properties getProperties(){
return this.properties;
}
}
public List getSAXXml(String fileName)throws Exception{
List list = null;
ParseXML parsexml = new ParseXML();
Properties properties = null;
SAXParserFactory factory = SAXParserFactory.newInstance();
//如果由此代码生成的解析器将提供对 XML 名称空间的支持,则为 true;否则为 false。
factory.setNamespaceAware(false);
//指定由此代码生成的解析器将验证被解析的文档。默认情况下,其值设置为 false
factory.setValidating(false);
SAXParser parser = factory.newSAXParser();
//使用指定的DefaultHandler将指定文件的内容解析为 XML。
parser.parse(fileName, parsexml);
properties = parsexml.getProperties();
Enumeration em = properties.keys();
while(em.hasMoreElements()){
list.add(properties.get(em.nextElement().toString()));
}
return list;
}
/**用Dom方式解析XML文件获取数据信息,比较容易理解和掌握的一种方式very good*/
public List getDOMXml(String fileName)throws Exception{
List list = null;
SAXBuilder builder = new SAXBuilder();
Document document = builder.build(new FileInputStream(fileName));
//document.getRootElement()获取根节点返回一个Element
List listchild = document.getRootElement().getChildren("table");
for(int i=0;i<listchild.size();i++){
Element e = (Element)listchild.get(i);
String tableName = e.getChild("tablename").getText();
List nextchild = e.getChild("fields").getChildren("field");
list.add(tableName);
for(int j=0;j<nextchild.size();j++){
Element child = (Element)nextchild.get(j);
list.add(child.getAttributeValue("name"));
}
}
//返回的List的结构是以表名为0个索引位置后面依次为表的字段名称,附带XML文件描述
return list;
}
}
<?xml version="1.0" encoding="gb2312" ?>
<tables>
<table>
<tablename>dic_rate_zhwd</tablename>
<fields>
<field name="organ_id" type="string"/>
<field name="business_id" type="string"/>
<field name="business_name" type="string"/>
<field name="rate" type="double"/>
</fields>
</table>
</tables>
import java.io.FileInputStream;
import java.util.Enumeration;
import java.util.List;
import java.util.Properties;
import java.util.ResourceBundle;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
/**
* @author
* 本类的作用是对properties和xml文件的解析,重点在于包括xml文件的两种解析方式
* 现在有三种用于Java的流行xml解析技术,文档对象模型(Document Object Model,DOM),基于W3C的
* 成熟标准,2、用于XML的简单API(Simple API for XML),第一个被广泛采用的用Java编写的XML API
* 是一个事实上的标准,3、用于XML的数据流API(Straming API for XML,StAX),JSR-173中采用
* 的一个新解析模型
*/
public class ParseFile {
public static ParseFile getInterface(){
return new ParseFile();
}
/**解析Properties文件获取数据信息*/
/**
*properties的文件格式为
*username=sa
*userpass=123以第一等号为标准,后面为它的值
*/
public List getPropertes(String fileName){
List list = null;
ResourceBundle rb = ResourceBundle.getBundle(fileName);
list.add(rb.getString("username"));
list.add(rb.getString("userpass"));
return list;
}
/**用SAX方式解析XML文件获取数据信息,创建一个解析XML文件的内部类解析器*/
class ParseXML extends DefaultHandler{
//所有的方法是子类重写父类的方法
String currentName = null;
StringBuffer currentValue = new StringBuffer();
Properties properties = null;
//接收元素开始的通知。
//默认情况下,不执行任何操作。应用程序编写者可以在子类中重写此方法,以便在每个元素的开始处采取特定的操作
public void startElement(String uri,String localName,String qName,Attributes attributes)throws SAXException{
this.currentValue.delete(0, this.currentValue.length());
this.currentName = qName;
}
//接收元素中字符数据的通知
//默认情况下,不执行任何操作。应用程序编写者可以重写此方法,以便对每块字符数据采取特定的措施
//如将该数据添加到节点或缓冲区,或者将该数据打印到文件。
public void characters(char[] ch,int start,int length)throws SAXException{
this.currentValue.append(ch,start,length);
}
//接收元素结束的通知
//默认情况下,不执行任何操作。应用程序编写者可以在子类中重写此方法,以便在每个元素的结束处采取特定的操作
//如,结束树节点或将输出写入文件。
public void endElement(String uri,String localName,String qName)throws SAXException{
this.properties.put(qName.toLowerCase(), this.currentValue.toString().trim());
}
//返回存储XML信息数据的properties
public Properties getProperties(){
return this.properties;
}
}
public List getSAXXml(String fileName)throws Exception{
List list = null;
ParseXML parsexml = new ParseXML();
Properties properties = null;
SAXParserFactory factory = SAXParserFactory.newInstance();
//如果由此代码生成的解析器将提供对 XML 名称空间的支持,则为 true;否则为 false。
factory.setNamespaceAware(false);
//指定由此代码生成的解析器将验证被解析的文档。默认情况下,其值设置为 false
factory.setValidating(false);
SAXParser parser = factory.newSAXParser();
//使用指定的DefaultHandler将指定文件的内容解析为 XML。
parser.parse(fileName, parsexml);
properties = parsexml.getProperties();
Enumeration em = properties.keys();
while(em.hasMoreElements()){
list.add(properties.get(em.nextElement().toString()));
}
return list;
}
/**用Dom方式解析XML文件获取数据信息,比较容易理解和掌握的一种方式very good*/
public List getDOMXml(String fileName)throws Exception{
List list = null;
SAXBuilder builder = new SAXBuilder();
Document document = builder.build(new FileInputStream(fileName));
//document.getRootElement()获取根节点返回一个Element
List listchild = document.getRootElement().getChildren("table");
for(int i=0;i<listchild.size();i++){
Element e = (Element)listchild.get(i);
String tableName = e.getChild("tablename").getText();
List nextchild = e.getChild("fields").getChildren("field");
list.add(tableName);
for(int j=0;j<nextchild.size();j++){
Element child = (Element)nextchild.get(j);
list.add(child.getAttributeValue("name"));
}
}
//返回的List的结构是以表名为0个索引位置后面依次为表的字段名称,附带XML文件描述
return list;
}
}
<?xml version="1.0" encoding="gb2312" ?>
<tables>
<table>
<tablename>dic_rate_zhwd</tablename>
<fields>
<field name="organ_id" type="string"/>
<field name="business_id" type="string"/>
<field name="business_name" type="string"/>
<field name="rate" type="double"/>
</fields>
</table>
</tables>
发表评论
-
java输出文件
2010-12-01 16:51 1299try { File file = new Fil ... -
Java字符串将不是字符数字的字符转换为十六进制字符
2010-07-12 10:28 1291char data[] = "asdfasdf中国1 ... -
Java解压ZIP文件同时解决压缩文件中含有中文名文件乱码的问题
2010-04-22 13:12 5299在使用Java对ZIP压缩文件进行解压的方式中有两种,一种是使 ... -
Java解析XML格式字符串返回Document类型对象
2008-05-23 14:46 8941package com.yc.util; import ja ... -
Java进行WebService通讯
2008-05-19 15:10 2141package com.yc.ycportal.cqkf.se ... -
Java实现MD5算法加密
2008-05-16 09:17 1169/** * MD5 算法的Java Bean */ pac ... -
Java手工打Jar包
2008-05-10 11:28 1850用法:jar {ctxu}[vfm0Mi] [jar-文件] ... -
Java解压缩ZIP文件同时包含Jar包解决ZIP包中含有中文名称信息的文件
2008-05-07 13:42 3281我们知道压缩文件中有第一个文件夹为原始文件夹:例如我们对一个目 ... -
Java上传文件实例
2008-05-05 10:08 3971package com.yc.eap.util; impor ... -
Servlet中文API文档
2008-04-26 15:47 2144基本类和接口 一、javax.servlet.Servlet ... -
ServletConfig和ServletConfig参数访问
2008-04-26 14:20 1306HttpServletRequest,HttpServletR ... -
Java上传文件同时含有表单域的实现
2008-04-25 17:08 2073package com.yc.eap.util; impor ... -
Jsp通过文件流实现文件下载
2008-04-23 10:44 2830<%@ page contentType="a ... -
Commons-fileupload工具的API与开发实例解析(三)
2008-04-23 10:25 18191.3.3 MultipartStream类 Multipar ... -
Commons-fileupload工具的API与开发实例解析(二)
2008-04-23 10:24 21281.2.5 文件上传编程实例 下面参考图1.2中看到的示例代码 ... -
Commons-fileupload工具的API与开发实例解析(一)
2008-04-23 10:22 3453文件上传组件的应用与编写 在许多Web站点应用中都需要为 ... -
Java压缩与解压缩文件
2008-04-23 10:05 1687package com.yc.ycportal.ge.util ... -
Java只获取系统时间的年份
2008-04-23 10:04 5545public static String getYear(){ ... -
Java连接Oracle数据库调用存储过程获取数据集
2008-04-23 10:03 2323package com.yc.ycportal.ge.util ... -
Java实现Ftp文件下载
2008-04-23 10:02 4557从http://www.enterprisedt.com/下载 ...
相关推荐
java解析XML文件java解析XML文件java解析XML文件java解析XML文件java解析XML文件java解析XML文件
JAVA 解析XML和生成XML文档源码。比较全 1.DOM生成和解析XML文档 2.SAX生成和解析XML文档 3.DOM4J生成和解析XML文档 4.JDOM生成和解析XML
使用java解析XML文件,解析完之后将解析结果导入mysql数据库中
JAVA解析XML文件四种方式比较,欢迎下载使用!
Java 解析xml文档(SAX,DOM,DOM4J)工程源代码。
java解析xml文件
java解析xml文档的常用方法
常用的java解析xml文档实例(常用的java解析xml文档实例){常用的java解析xml文档实例}
java解析xml文件,已连接数据库为例,我用的是oracle数据库 三种方式的例子都有 dom sax dom4j 很全的哦。。。 本人亲自写的哦
Java解析xml所需jar包
java解析XML的4种经典方法 java解析XML的4种经典方法 java解析XML的4种经典方法
java解析xml文档模型的性能测试程序,里面包括程序源代码,测试分析文档,当然自然也包括了各种文档模型的使用方法。有dom4j,jdom,xerces,xpp,exml,crimson等,大家可以下载学习,并进一步测试。
Java解析XML文档—使用DOM解析
Java解析XML文件的DOM和SAX方式.doc
JAVA DOM方式解析XML文件 我是用Jubilder2005写的 希望对大家有帮助...
好资料大家用。java解析xml文件的几种方式
压缩包内包含jaxen-1.1.1.jar和dom4j-1.6.1.jar两个jar包文件。这两个文件用于Java解析XML文件。涵盖了Java解析XML文件的主要类