📄 driverutilities2.java
字号:
package coreservlets;
import java.io.*;
import java.util.*;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import org.xml.sax.*;
import coreservlets.beans.*;
public class DriverUtilities2 extends DriverUtilities
{
public static final String DEFAULT_FILE="drivers.xml";
public static void loadDrivers()
{
DriverUtilities2.loadDrivers(DEFAULT_FILE);
}
public static void loadDrivers(String filename)
{
File file=new File(filename);
try
{
InputStream in=new FileInputStream(file);
DocumentBuilderFactory builderFactory=DocumentBuilderFactory.newInstance();
DocumentBuilder builder=builderFactory.newDocumentBuilder();
Document document=builder.parse(in);
document.getDocumentElement().normalize();
Element rootElement=document.getDocumentElement();
NodeList driverElements=rootElement.getElementsByTagName("driver");
for(int i=0;i<driverElements.getLength();i++)
{
Node node=driverElements.item(i);
DriverInfoBean info=DriverUtilities2.createDriverInfoBean(node);
if(info!=null)
{
addDriverInfoBean(info);
}
}
}
catch(FileNotFoundException fnfe)
{
System.err.println("Can't find"+filename);
}
catch(IOException ioe)
{
System.err.println("Problem reading file:"+ioe);
}
catch(ParserConfigurationException pce)
{
System.err.println("Can't create DocumentBuilder");
}
catch(SAXException se)
{
System.err.println("Problem parsing document:"+se);
}
}
public static DriverInfoBean createDriverInfoBean(Node node)
{
Map map=new HashMap();
NodeList children=node.getChildNodes();
for(int i=0;i<children.getLength();i++)
{
Node child=children.item(i);
String nodeName=child.getNodeName();
if(child instanceof Element)
{
Node textNode=child.getChildNodes().item(0);
if(textNode!=null)
{
map.put(nodeName,textNode.getNodeValue());
}
}
}
return(new DriverInfoBean((String)map.get("vendor"),(String)map.get("description"),(String)map.get("driver-class"),(String)map.get("url")));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -