📄 accountdaofactory.java
字号:
package dao;
import org.xml.sax.*;
import javax.xml.parsers.*;
import org.xml.sax.helpers.DefaultHandler;
import dao.impl.*;
public class AccountDaoFactory {
private static String daoName;
private static String fileName;
public static AccountDao createAccountDao(){
Object o=null;
try {
/*
FileReader fr=new FileReader("config//dao.txt");
BufferedReader in=new BufferedReader(fr);
String daoName=in.readLine();
String fileName=in.readLine();
in.close();
*/
/*
Class c=Class.forName(daoName);
Constructor con=c.getConstructor(String.class);
o = con.newInstance(fileName);
*/
SAXParserFactory f=SAXParserFactory.newInstance();
SAXParser parser=f.newSAXParser();
parser.parse("config\\dao.xml",new DefaultHandler(){
String currentTag;
public void startElement(String uri,String ln,String qName,Attributes as) throws SAXException{
this.currentTag=qName;
}
public void characters(char[] cs, int start, int length) throws SAXException {
String text=new String(cs,start,length).trim();
if (text.length()==0) return;
if (this.currentTag.equals("daoName")){
daoName=text;
}
if (this.currentTag.equals("fileName")){
fileName=text;
}
}
});
if (daoName.equals("dao.impl.AccountFileDao")){
o=new AccountFileDao(fileName);
}
if (daoName.equals("dao.impl.AccountXmlDao")){
o=new AccountXmlDao(fileName);
}
} catch (Exception e) {
e.printStackTrace();
}
return (AccountDao)o;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -