⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 accountdaofactory.java

📁 一个ATM银行模拟系统
💻 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 + -