天天看点

从数据库中获取二级制流的处理方法

说明:数据中一个字段,类型为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;
	        }