【智能家居】(一)数据采集模块

智能家居采集模块

思路

将文件中的数据使用 | 分割,按照Java bean中的属性类型以及getter、setter方法给list集合赋值。

有String类型、int类型、float类型以及Timestamp类型,Timestamp可以直接将毫秒数转换成时间戳类型,但是需要先将毫秒数改成long类型数据。将赋值好的list集合存入对象即可。

需要循环创建对象,读取一条数据创建一个对象。

代码

package com.briup.client;

import java.io.BufferedReader;
import java.io.FileReader;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;

import com.briup.bean.Environment;
import com.briup.exception.EnvironmentException;

public class GatherImpl implements Gather {

	public List<Environment> obj() throws EnvironmentException {
		String[] str = null;
		
		List<Environment> list = new ArrayList<Environment>();
		
		
		try {
			BufferedReader br = new BufferedReader(new FileReader("radwtmp"));
			String line;
			while ((line = br.readLine()) != null) {
				str = line.split("[|]");
				Environment evn = new Environment();
				if (str[3].equals("16")) {
					evn.setSendId(str[0]);
					evn.setSmId(str[1]);
					evn.setQmId(str[2]);
					evn.setName("温度");
					evn.setAddress(str[3]);
					float Temperature = (float) ((Integer.parseInt(str[6].substring(0, 4), 16) * 0.00268127) - 46.85);
					evn.setData(Temperature);
					evn.setCount(Integer.parseInt(str[4]));
					evn.setOrdernumber(str[5]);
					evn.setStatus(Integer.parseInt(str[7]));
					evn.setGather_date(new Timestamp(Long.parseLong(str[8])));
					list.add(evn);
					Environment evn1 = new Environment();
					evn1.setSendId(str[0]);
					evn1.setSmId(str[1]);
					evn1.setQmId(str[2]);
					evn1.setName("湿度");
					evn1.setAddress(str[3]);
					float Humidity = (float) ((Integer.parseInt(str[6].substring(4, 8), 16) * 0.00190735) - 6);
					evn1.setData(Humidity);
					evn1.setCount(Integer.parseInt(str[4]));
					evn1.setOrdernumber(str[5]);
					evn1.setStatus(Integer.parseInt(str[7]));
					evn1.setGather_date(new Timestamp(Long.parseLong(str[8])));
					list.add(evn1);
				} else if (str[3].equals("256")) {
					evn.setSendId(str[0]);
					evn.setSmId(str[1]);
					evn.setQmId(str[2]);
					evn.setName("光照强度");
					evn.setAddress(str[3]);
					evn.setData(Integer.valueOf(str[6].substring(0, 4), 16));
					evn.setCount(Integer.parseInt(str[4]));
					evn.setOrdernumber(str[5]);
					evn.setStatus(Integer.parseInt(str[7]));
					evn.setGather_date(new Timestamp(Long.parseLong(str[8])));
					list.add(evn);
				} else if (str[3].equals("1280")) {
					evn.setSendId(str[0]);
					evn.setSmId(str[1]);
					evn.setQmId(str[2]);
					evn.setName("二氧化碳");
					evn.setAddress(str[3]);
					evn.setData(Integer.valueOf(str[6].substring(0, 4), 16));
					evn.setCount(Integer.parseInt(str[4]));
					evn.setOrdernumber(str[5]);
					evn.setStatus(Integer.parseInt(str[7]));
					evn.setGather_date(new Timestamp(Long.parseLong(str[8])));
					list.add(evn);

				}
			}

			br.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		return list;
	}

	public static void main(String[] args) {
		new GatherImpl().obj();
	}
}

总结

做完了数据采集模块。


今天的项目我做了有很久,一开始很懵不知道要干嘛,把这个模块做好以后就发现,哇塞,怎么这么简单,我怎么回事,为什么做这么久?
真的需要好好反思一下了。
人家做项目,一天之内,把老师提了一嘴还没布置下去的功能都做好了,我在那里磨磨唧唧需求还没搞懂,真的好笨啊。
难受。
感觉自己像只鲨鱼海域中的比目鱼。
希望自己游得再快一丢丢!

你可能感兴趣的:(项目经验)