public void ImportHistoryPrice(String file_name) throws IOException, ParseException {
		//DataInputStream dis = new DataInputStream(new FileInputStream(new File("D:\\Installed App\\dzh2\\SUPERSTK.DAD")));
		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];
		byte[] byte16 = new byte[16];
		
		String market;
		String code;
		String name;
		
		int num = 0;
		
		dis.read(byte16);
		while (dis.available() > 0) {
			
			//0-15
			dis.read(byte4);
			
			// new stock
			while (getInt(byte4) == 0xFFFFFFFF) {
				
				boolean need_proc = true;
				
				//4-15
				dis.read(byte2);
				if (getShort(byte2) == 0x0000) {
					break;
				}
				market = new String(byte2);
				
				dis.read(byte6);
				code = new String(byte6);
				
				if (market.equals("SH")) {
					market = TransDetailRecord.MARKET_SH;
				}
				else if (market.equals("SZ")) {
					market = TransDetailRecord.MARKET_SZ;
				}
				else {
					log.info("skip wrong stock! market:" + market + " code:" + code);
					need_proc = false;
				}
				
				num++;

				dis.skipBytes(4);
				
				//16-31
				dis.skipBytes(4);
				
				dis.read(byte8);
				name = new String(byte8, "gbk");
				
				dis.skipBytes(4);
						
				System.out.println("market:" + market + " code:" + code + " name:" + name);
				byte4 = ParseStock(dis, code, market, need_proc);
				
				
				if (num % 100 == 0) {
					//存入数据库
					log.info("    store code to db");
					//StoreStockPriceToDB(ALL_STOCK_CODE, false);
					
					stock_map.clear();
				}
			}
		}
		
		dis.close();
		
		//剩下的存入数据库
		log.info("    store code to db");
		//StoreStockPriceToDB(ALL_STOCK_CODE, false);
		
		stock_map.clear();

	}