package com.point.iot.base.tools;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.lang.reflect.Field;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.ParseException;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.StringTokenizer;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.HttpVersion;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ByteArrayEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.CoreConnectionPNames;
import org.apache.http.params.CoreProtocolPNames;
import org.apache.http.params.HttpParams;
import org.apache.log4j.Logger;
import org.apache.mina.core.session.IoSession;
import com.point.iot.base.mysql.jdbc.DBConnectionManager;
public class CommUtils {
static Logger logger = Logger.getLogger(CommUtils.class);
public static final boolean DEPLOY_SERVER = !((System.getProperties().getProperty("os.name")).indexOf("Windows")>=0);
/**
* int转byte
* @param value
* @return
*/
public static byte[] intToBytes(int value)
{
byte[] byte_src = new byte[4];
byte_src[3] = (byte) ((value & 0xFF000000)>>24);
byte_src[2] = (byte) ((value & 0x00FF0000)>>16);
byte_src[1] = (byte) ((value & 0x0000FF00)>>8);
byte_src[0] = (byte) ((value & 0x000000FF));
return byte_src;
}
/**
* 将short转成byte[2]
* @param a
* @param b
* @param offset b中的偏移量
*/
public static byte[] short2Byte(short a){
byte[] b = new byte[2];
b[0] = (byte) (a >> 8);
b[1] = (byte) (a);
return b;
}
/**
* 把低位在前的int转换为高位在前,低位在后 如ABCD 解析为DCBA
* @param a
* @return
*/
public static int highAndLowAddressSwap(int a){
int b = (a & 0x000000ff)<<24;
int c = (a & 0x0000ff00)<<8;
int d = (a & 0x00ff0000)>>8;
int e = (a & 0xff000000)>>24;
return b + c + d + e;
}
public static String formatDouble(double i){
String result = String .format("%.3f",i);
return result;
}
public static void main(String args[]){//
int a = highAndLowAddressSwap(0x1C000000);
System.out.println(a);
}
/**
* 替换参数{:key}
* @param pattern
* @param arguments
* @return
*/
public static String format(String pattern, Map<String, Object> arguments) {
String formatedStr = pattern;
for (String key : arguments.keySet()) {
String replacement = "\\{:" + key + "\\}";
formatedStr = formatedStr.replaceAll(replacement, arguments.get(key)
.toString());
System.out.println(replacement + arguments.get(key)
.toString());
}
return formatedStr;
}
public synchronized static String getTimeStamp() {
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmssSSS");
Date date = new Date();
return formatter.format(date);
}
public static void printStacktrace(StackTraceElement[] stackTrackElements) {
logger.error(Arrays.toString(stackTrackElements));
}
public static String getSessionAddress(IoSession session){
if ( session == null ){
return "" ;
}
if ( session.getRemoteAddress() == null || "".equals(session.getRemoteAddress())){
return "" ;
}
String sessionAddress = session.getRemoteAddress().toString();
sessionAddress = sessionAddress.substring(0, sessionAddress
.indexOf(":"));
return sessionAddress ;
}
/**
* 读取/proc/stat 获取cpu占用率 ; Linux
*
* @return float efficiency
* @throws IOException
* @throws InterruptedException
*/
public static float getCpuInfo() {
File file = new File("/proc/stat");
BufferedReader br = null;
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
StringTokenizer token = new StringTokenizer(br.readLine());
token.nextToken();
long user1 = Long.parseLong(token.nextToken());
long nice1 = Long.parseLong(token.nextToken());
long sys1 = Long.parseLong(token.nextToken());
long idle1 = Long.parseLong(token.nextToken());
Thread.sleep(1000);
br = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
token = new StringTokenizer(br.readLine());
token.nextToken();
long user2 = Long.parseLong(token.nextToken());
long nice2 = Long.parseLong(token.nextToken());
long sys2 = Long.parseLong(token.nextToken());
long idle2 = Long.parseLong(token.nextToken());
return (float) ((user2 + sys2 + nice2) - (user1 + sys1 + nice1)) / (float) ((user2 + nice2 + sys2 + idle2) - (user1 + nice1 + sys1 + idle1));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
if(br != null)
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return 0;
}
/**
* 根据网卡取本机配置的IP 如果是双网卡的,则取出外网IP
*
* @return
*/
public static String getLocalIp() {
String localip = null;// 返回它
try {
Enumeration<NetworkInterface> netInterfaces = NetworkInterface.getNetworkInterfaces();
InetAddress ip = null;
boolean finded = false;// 是否找到外网IP
while (netInterfaces.hasMoreElements() && !finded) {
NetworkInterface ni = netInterfaces.nextElement();
Enumeration<InetAddress> address = ni.getInetAddresses();
while (address.hasMoreElements()) {
ip = address.nextElement();
if (ip.isSiteLocalAddress() && !ip.isLoopbackAddress() && ip.getHostAddress().indexOf(":") == -1) {// 内网IP
localip = ip.getHostAddress();
}
}
}
} catch (SocketException e) {
e.printStackTrace();
}
return localip;
}
public static Date dateMulti(Date date, int milliseconds ){
Date newdate = new Date(date.getTime() + milliseconds) ;
return newdate ;
}
/**
* 根据日期获得星期
*
* @param date
* @return
*/
public static int getWeekOfDate(Date date) {
int[] weekDaysCode = { 1, 2, 3, 4, 5, 6, 7 };
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int intWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1;
return weekDaysCode[intWeek];
}
/**
* 根据日期获得星期
*
* @param date
* @return
*/
public static String getWeekNameOfDate(Date date) {
String[] weekDaysName = { "周日", "周一", "周二", "周三", "周四", "周五", "周六" };
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int intWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1;
return weekDaysName[intWeek];
}
/**
* 获取下一个月的timestamp时间
* @param timestamp 时间戳
* @return
*/
public static long getNextDateOfMonth(long timestamp) {
Calendar calendar = Calendar.getInstance();
Date date = new Date(timestamp);
calendar.setTime(date);
c
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
point io是适合于不同应用场景的物联网数据采集与交互的通信框架 (106个子文件)
.classpath 1KB
.classpath 1KB
.classpath 1KB
.classpath 998B
.gitignore 189B
.gitignore 9B
.gitignore 9B
.gitignore 9B
CommUtils.java 29KB
DBConnectionManager.java 11KB
CRC16.java 9KB
WebSocketV6Fram.java 8KB
SocketClient.java 7KB
QueryHelper.java 7KB
IPInfoUtil.java 6KB
WebSocketHandler.java 6KB
Tools.java 6KB
MemcachedClient.java 5KB
DBConnectionPool.java 5KB
ClientHandler.java 5KB
SimpleMailSender.java 5KB
ActionManager.java 5KB
ServerHandler.java 5KB
EncryptDecryptData.java 4KB
HexBin.java 4KB
RotatingList.java 3KB
ServerHandler.java 3KB
ProxyBiz.java 3KB
Sender.java 3KB
MessageTcpDecoder.java 3KB
ConfigManager.java 3KB
EMail.java 3KB
SocketServer.java 3KB
MailSenderObj.java 3KB
ReceiverFactory.java 3KB
DateUtils.java 2KB
ParseDSConfig.java 2KB
DataGetMessageHandler.java 2KB
ApplicationContextUtil.java 2KB
DSConfigBean.java 2KB
TcpMessageFacade.java 2KB
EmailHelper.java 2KB
MessageTcpEncoder.java 2KB
SocketServer.java 2KB
ThreadPools.java 2KB
ConnectionObject.java 1KB
MessageCodecFactory.java 1KB
LoginMessageClientHandler.java 1KB
CjyTcpMessage.java 1KB
FilePathUtils.java 1KB
MD5.java 1KB
TimeSetResponseHandler.java 1KB
MessageUtil.java 1KB
AddressInfo.java 1KB
Action.java 1KB
TcpMessageHandler.java 1KB
FunctionParam.java 1KB
TcpProtocolFacade.java 964B
MessageCodecRegister.java 926B
TcpControlMessageHandler.java 905B
ServerListeningPort.java 848B
SessionUtils.java 719B
ControlMessageHandler.java 622B
LogHelper.java 603B
TcpNetCmd.java 601B
TcpMessage.java 588B
ProxyServiceMain.java 498B
MsgHandler.java 497B
MyAuthenticator.java 459B
DeSerializeException.java 447B
SerializeException.java 440B
MessageHandler.java 437B
IotManagerExcption.java 434B
ConfigException.java 357B
MsgFormatException.java 344B
MessageManagerLogicHandler.java 292B
MessageManagerFacade.java 213B
TimerActionListener.java 142B
Constant.java 138B
.keep 0B
LICENSE 11KB
MANIFEST.MF 39B
MANIFEST.MF 39B
MANIFEST.MF 39B
org.eclipse.jdt.core.prefs 238B
org.eclipse.jdt.core.prefs 238B
org.eclipse.jdt.core.prefs 238B
org.eclipse.core.resources.prefs 120B
org.eclipse.m2e.core.prefs 86B
org.eclipse.m2e.core.prefs 86B
org.eclipse.m2e.core.prefs 86B
org.eclipse.core.resources.prefs 85B
org.eclipse.core.resources.prefs 85B
.project 1KB
.project 1KB
.project 542B
.project 540B
log4j.properties 638B
config.properties 4B
pom.xml 2KB
共 106 条
- 1
- 2
资源评论
m0_72731342
- 粉丝: 2
- 资源: 1832
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 蓝zapro.apk
- chromedriver-linux64.zip
- 基于Python和PyTorch框架完成的一个手写数字识别实验源码(带MINIST手写数字数据集)+详细注释(高分项目)
- 基于Matlab在MNIST数据集上利用CNN完成手写体数字识别任务,并实现单层CNN反向传播算法+源代码+文档说明(高分项目)
- NVIDIA驱动、CUDA和Pytorch及其依赖
- html动态爱心代码一(附源码)
- c40539bc-071a-486c-9d52-9d0c18d62dac 4.html
- 基于物理的非视域成像(NLOS)算法,利用了nerf+python源码+文档说明
- yuluer知更鸟.7z(1).001
- python课程设计-基于tensorflow实现的图文生成程序,数据集flickr30k-images+源代码+文档说明+截图
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功