public byte[] ParseStock(DataInputStream dis, String code, String market, boolean need_proc) throws IOException, ParseException {
		
		byte[] byte4 = new byte[4];
		
		String sdate;
		Double open;
		Double close;
		long timestamp;
		
		//date->PriceRecord
		HashMap<String, PriceRecord> stock_price = new HashMap<String, PriceRecord>();
		
		Date date;
		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
		
		String sdate_s = null;
		String sdate_e = null;
		
		//32-47
		dis.read(byte4);
		while (getInt(byte4) != 0xFFFFFFFF) {
			
			timestamp = byte2int(byte4);
			date = new Date(timestamp * 1000);
			sdate = sdf.format(date);
			
			if (sdate_s == null) {
				sdate_s = sdate;
			}
			sdate_e = sdate;
			
			dis.read(byte4);
			open = Double.parseDouble(toFloat(byte4) + "");
			
			dis.skipBytes(8);
			
			//48-63
			dis.read(byte4);
			close = Double.parseDouble(toFloat(byte4) + "");
			
			dis.skipBytes(12);
			
            PriceRecord pr = new PriceRecord();
            pr.open		= open;
			pr.close	= close;
			
			stock_price.put(sdate, pr);
			
//			System.out.println("date:" + sdate + " open:" + open + " close:" + close);
			
			dis.read(byte4);
		}
		
		//补全非交易日的数据（用离非交易日最近的交易日数据补齐）
		date = sdf.parse(sdate_s);
		
		sdate = sdf.format(date);
		PriceRecord last_pr = null;
		while (!sdate.equals(sdate_e)) {
			if (!stock_price.containsKey(sdate)) {
				stock_price.put(sdate, last_pr);
			}
			
			last_pr	= stock_price.get(sdate);
			date.setTime((date.getTime() / 1000 + 86400) * 1000);
			sdate	= sdf.format(date);
		}
		
		String key = market + "," + code;
		if (need_proc == true) {
			stock_map.put(key, stock_price);
		}
		
		return byte4;
	}