研究了好久,特么的竟然是这么简单,xml文件也能做,不过对于java来说用properties文件做太容易了
第一种方法,弱智方法利用properties文件
Properties props = new Properties();
try {
InputStream in =ReadData.class.getResourceAsStream("appform.properties");
props.load(in);
String value = props.getProperty(key);
return value;
} catch (Exception e) {
e.printStackTrace();
return null;
}
首先引入几个包
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.*;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.*;
properties文件放到跟class一个文件夹下好
public class ReadData {
public static String readValue(String key) { Properties props = new Properties();
try {
InputStream in =ReadData.class.getResourceAsStream("appform.properties");
props.load(in);
String value = props.getProperty(key);
return value;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
第二种dom4j,高端大气上档次,直接用来读取xml文件操作元素内容
需要引入如下包
import java.util.*;
import java.io.File;
import org.dom4j.Element;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.io.SAXReader;
import java.io.File;
import org.dom4j.Element;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.io.SAXReader;
public static void readXML02( ) throws DocumentException{
SAXReader sr = new SAXReader();//获取读取方式
Document doc = sr.read(new File("data.xml"));//这个路径要在项目的根目录下
Element root = doc.getRootElement();//获取根节点
List list = root.elements("root");//根据根节点,将根节点下 root中的所有数据放到list容器中。
for(Object obj:list){//这种遍历方式,是jdk1.5以上的版本支持的遍历方式
Element row = (Element)obj;
List list_row = row.elements("name");//获取name节点下所有的内容,存入list_row容器中
for(Object objempno:list_row){
Element el_empno = (Element)objempno;
System.out.println(el_empno.getName()+": "+el_empno.getText());//获取节点下的数据。
}
SAXReader sr = new SAXReader();//获取读取方式
Document doc = sr.read(new File("data.xml"));//这个路径要在项目的根目录下
Element root = doc.getRootElement();//获取根节点
List list = root.elements("root");//根据根节点,将根节点下 root中的所有数据放到list容器中。
for(Object obj:list){//这种遍历方式,是jdk1.5以上的版本支持的遍历方式
Element row = (Element)obj;
List list_row = row.elements("name");//获取name节点下所有的内容,存入list_row容器中
for(Object objempno:list_row){
Element el_empno = (Element)objempno;
System.out.println(el_empno.getName()+": "+el_empno.getText());//获取节点下的数据。
}
}
}
上面这个是用条件进行查询的例子,当然也能遍历,不过让我想到了遍历容器的iterator
Element el=doc.getRootElement();
Iterator it=el.elementIterator();
while(it.hasNext){
Object o=it.next();
Element elm=(Element)o;
String s=elm.getText();
//其他进行遍历