天天看點

從資料庫中擷取二級制流的處理方法

說明:資料中一個字段,類型為BINARY,存放星期一到星期日中間的某一天或者某幾天的組合比如:20(10100),表示周二和周四,1表示周六,64(1000000)表示周日;

讀取以及處理示例:

//讀取位元組
        	byte[] daysOfWeekArr = new byte[1];
			InputStream is = dbResult.getBinaryStream("Days_Of_Week");
			is.read(daysOfWeekArr);
			is.close();

			//二進制 判斷 星期
	       if((daysOfWeekArr[0] & 2) != 0) {
	    	   schedule.getDaysOfWeek()[0] = BnbScheduleDef.BBACTION_MON;
	        }
	        if((daysOfWeekArr[0] & 4) != 0) {
	        	schedule.getDaysOfWeek()[1] = BnbScheduleDef.BBACTION_TUE;
	        }
	        if((daysOfWeekArr[0] & 8) != 0) {
	        	schedule.getDaysOfWeek()[2] = BnbScheduleDef.BBACTION_WED;
	        }
	        if((daysOfWeekArr[0] & 16) != 0) {
	        	schedule.getDaysOfWeek()[3] = BnbScheduleDef.BBACTION_THU;
	        }
	        if((daysOfWeekArr[0] & 32) != 0) {
	        	schedule.getDaysOfWeek()[4] = BnbScheduleDef.BBACTION_FRI;
	        }
	        if((daysOfWeekArr[0] & 64) != 0) {
	        	schedule.getDaysOfWeek()[5] = BnbScheduleDef.BBACTION_SAT;
	        }
	        if((daysOfWeekArr[0] & 1) != 0) {
	        	schedule.getDaysOfWeek()[6] = BnbScheduleDef.BBACTION_SUN;
	        }