public void ImportExDivideData(String file_name, boolean clean) throws IOException, ParseException {
		
		DataInputStream dis = new DataInputStream(new FileInputStream(new File(file_name)));
		
		byte[] byte2 = new byte[2];
		byte[] byte4 = new byte[4];
		byte[] byte6 = new byte[6];
		byte[] byte8 = new byte[8];

		String market;
		String code;
		
		/**
		 * |4byte|2byte|6byte|8byte|
		 *   tag  market code none
		 */
		dis.read(byte8);
		while (dis.available() > 0) {
			
			// new stock
			dis.read(byte4);
			while ((dis.available() > 0) && (getInt(byte4) == 0xFFFFFFFF)) {
				
				//4-5
				dis.read(byte2);
				if (getShort(byte2) == 0x0000) {
					break;
				}
				market = new String(byte2);
				market = market.toLowerCase();
				
				//记录下涉及到的市场列表，用于入库时候创建表用
				if (!stock_ex_divide_market_map.containsKey(market)) {
					stock_ex_divide_market_map.put(market, Boolean.FALSE);
				}
				
				//6-11
				dis.read(byte6);
				
				//code由小于等于6个字节构成，某个byte为0x00标识结束
				boolean byte_is_zero = false;
				for (int i = 0; i <= byte6.length - 1; i++) {
					if (byte6[i] == 0x00) {
						byte_is_zero = true;
					}
					
					if (byte_is_zero == true) {
						byte6[i] = 0x00;
					}
				}
				code = new String(byte6);
				code = code.trim();
				
				log.info("market:" + market + " code:" + code);
				
				dis.read(byte8);
				
				byte4 = ParseExDividePWR(dis, code, market);
				
				//存入数据库
				StoreExDivideToDB(clean);
						
				ex_divide_map.clear();
			}
		}
		
		dis.close();
	}