易截截图软件、单文件、免安装、纯绿色、仅160KB

java读取XML文件里面的数据之DOM实现

import org.w3c.dom.*;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import java.io.*;
public class ReadXML {
private File file;

public ReadXML(String filename){
File file=new File(filename);
this.file=file;
}
/**
*
* @return the instance of Document
*/
public Document getDOM(){
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
DocumentBuilder db;
Document document=null;
try{
db=dbf.newDocumentBuilder();
document=db.parse(file);
}catch(Exception e ){
e.printStackTrace();
}
return document;
}

/**
*
* @param tagName
* @return
*/
public String getInfoByTagName(String tagName)
{
String info="";
Document document=this.getDOM();

//获取NodeName 为tagName的节点组
NodeList nl=document.getElementsByTagName(tagName);

for(int i=0;i<nl.getLength();i++)
{
info+=tagName+"[+"+i+"+]"+"\n";
Node node=nl.item(i);

//如果当前节点有子节点(这里 只考虑还有一级子节点的情况)
if(node.hasChildNodes())
{

NodeList list=node.getChildNodes();

for(int j=0;j<list.getLength();j++)
{

Node childNode=list.item(j);
/* 不加这个If语句会抛出
* Exception in thread "main" java.lang.NullPointerException
* at ReadXML.getInfoByTagName(ReadXML.java:59)
* at Test.main(Test.java:17)
*/
if(childNode.getFirstChild()!=null)
/* 对getNodeValue()的过程彻底无语
* 调试这个地方的时候,在网上很容易找到了
* 在得到Value的时候必须在节点对象后面先调用getFirstChild()或者getChildNodes().item(0)
* 原因很简单,但是不知道设计者问什么要这么设计
* 最近在看《Be


相关文档:

Java NIO API详解

 
Java NIO API详解
在JDK
1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方
便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO
API作为一个基于缓冲区,并能提供非阻塞(non-blo ......

在Eclipse和NetBeans中导入Java API

 工欲善其事,必先利其器。熟悉开发环境可以让你更快更好更舒服地开发软件。就如同VC/.net开发人员离不开msdn,java开发人员往往也离不开java API。下面介绍下如何在Eclipse和NetBeans中导入java API。使之可以方便快速地查找,定位。
  本文适合与刚刚接触Eclipse或NetBeans的java开发人员,或者是有经验的使用Ec ......

Java中的字符集编码入门 2

 
  说到GB2312和GBK就不得不提中文网页的编码。尽管很多新开发的Web系统和新上线的注重国际化的网站都开始使用UTF-8,仍有相当一部分的中文媒体坚持使用GB2312和GBK,例如新浪的页面。其中有两点很值得注意。
  第一,页面中meta标签的部分,常常可以见到charset=GB2312这样的写法,很不幸的是,这个“cha ......

java 大数类


import java.io.*;
class BigInt 
{
 int a[];
 int len;
 BigInt(String str)
 {
 {
  len=str.length();
  a=new int[len];
  for(int i=0;i<len;i++) 
  {
   this.a[i]=str.charAt(i)-48;
  }
&nb ......

java 线程同步

     Java 是一门支持多线程的的语言,但在处理多线程事件时我们必须注意这样一个问题:多个线程可能同时对同一对象的修改。如果我们不及时作出处理,可能引起对象值的混乱。其实处理办法也很简单,就是当一个线程处理一个对象,锁住该对象。 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号