123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301 |
- /*
- ***************************************************************************************************
- * Copyright �� 2009-2010 HANTE Information Co., Ltd. Seoul, Korea
- * All rights reserved.
- *
- * �ý��� ��ƿ��Ƽ Ŭ����
- *
- * Programmer(s): shjung@hanteinfo.com
- *
- * REVISION HISTORY
- * 1. [2010/12/22][VER-1.0][shjung] : created
- * 2.
- ***************************************************************************************************
- */
- package com.its.utils;
- import org.apache.commons.lang3.time.FastDateFormat;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.GregorianCalendar;
- import java.util.Locale;
- /**
- * A class to SysUtils
- *
- *
- */
- public final class SysUtils
- {
- private SysUtils()
- {
- }
- public static int toInt(String str, int defaultValue) {
- if (str == null) {
- return defaultValue;
- } else {
- try {
- return Integer.parseInt(str);
- } catch (NumberFormatException var3) {
- return defaultValue;
- }
- }
- }
- public static String getMethodName() {
- return Thread.currentThread().getStackTrace()[1].getMethodName();
- }
- public static int parseInteger(String paramVal, int defVal) {
- int result = defVal;
- try {
- result = Integer.parseInt(paramVal);
- } catch(Exception e) {
-
- }
- return result;
- }
- public static float parseFloat(String paramVal, float defVal) {
- float result = defVal;
- try {
- result = Float.parseFloat(paramVal);
- } catch(Exception e) {
-
- }
- return result;
- }
-
- public static double parseDouble(String paramVal, double defVal) {
- double result = defVal;
- try {
- result = Double.parseDouble(paramVal);
- } catch(Exception e) {
-
- }
- return result;
- }
- /**
- * 현재시각을 문자열로 얻는다.
- *
- */
- public static String getSysTimeStr() {
- SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- java.util.Date dtLog = new java.util.Date();
- return sdfDate.format(dtLog);
- }
- public static String getSysTime()
- {
- SimpleDateFormat sdfDate = new SimpleDateFormat("yyyyMMddHHmmss");
- java.util.Date dtLog = new java.util.Date();
- return sdfDate.format(dtLog);
- /*
- Calendar now = Calendar.getInstance();
- String year = "0000" + now.get(Calendar.YEAR);
- String mon = "00" + now.get(Calendar.MONTH) + 1;
- String day = "00" + now.get(Calendar.DAY_OF_MONTH);
- String hour = "00" + now.get(Calendar.HOUR_OF_DAY);
- String min = "00" + now.get(Calendar.MINUTE);
- String sec = "00" + now.get(Calendar.SECOND);
- year = year.substring(year.length() - 4, year.length());
- mon = mon.substring( mon.length() - 2, mon.length());
- day = day.substring( day.length() - 2, day.length());
- hour = hour.substring(hour.length() - 2, hour.length());
- min = min.substring( min.length() - 2, min.length());
- sec = sec.substring( sec.length() - 2, sec.length());
- return year+mon+day+hour+min+sec;
- */
- }
- public static int gapTime(String startTm, String endTm, int calcType) {
- if (startTm == null || startTm.equals("") || startTm.length() != 14) {
- return -1;
- }
- if (endTm == null || endTm.equals("") || endTm.length() != 14) {
- return -1;
- }
- FastDateFormat fastDateFormat = FastDateFormat.getInstance("yyyyMMddHHmmss", new Locale("ko_KR")); //Locale.getDefault());
- Date startDateTime, endDateTime;
- try {
- startDateTime = fastDateFormat.parse(startTm);
- endDateTime = fastDateFormat.parse(endTm);
- } catch (ParseException e) {
- e.printStackTrace();
- return -1;
- }
- GregorianCalendar gcStartDateTime = new GregorianCalendar();
- GregorianCalendar gcEndDateTime = new GregorianCalendar();
- gcStartDateTime.setTime(startDateTime);
- gcEndDateTime.setTime(endDateTime);
- long gap = gcEndDateTime.getTimeInMillis() - gcStartDateTime.getTimeInMillis();
- long hour = gap / 1000L / 60L / 60L;
- long min = gap / 1000L / 60L;
- long second = gap / 1000L;
- if (Calendar.HOUR == calcType)
- return (int)hour;
- if (Calendar.MINUTE == calcType)
- return (int)min;
- if (Calendar.SECOND == calcType)
- return (int)second;
- return -1;
- }
- public static long ipToLong(String ipAddress) {
- String[] ipAddressInArray = ipAddress.split("\\.");
- long result = 0;
- for (int i = 0; i < ipAddressInArray.length; i++) {
- int power = 3 - i;
- int ip = Integer.parseInt(ipAddressInArray[i]);
- result += ip * Math.pow(256, power);
- }
- return result;
- }
- public static long ipToLong2(String ipAddress) {
- long result = 0;
- String[] ipAddressInArray = ipAddress.split("\\.");
- for (int i = 3; i >= 0; i--) {
- long ip = Long.parseLong(ipAddressInArray[3 - i]);
- //left shifting 24,16,8,0 and bitwise OR
- //1. 192 << 24
- //1. 168 << 16
- //1. 1 << 8
- //1. 2 << 0
- result |= ip << (i * 8);
- }
- return result;
- }
- public static String longToIp(long i) {
- return ((i >> 24) & 0xFF) +
- "." + ((i >> 16) & 0xFF) +
- "." + ((i >> 8) & 0xFF) +
- "." + (i & 0xFF);
- }
- public static String longToIp2(long ip) {
- StringBuilder sb = new StringBuilder(15);
- for (int i = 0; i < 4; i++) {
- // 1. 2
- // 2. 1
- // 3. 168
- // 4. 192
- sb.insert(0, Long.toString(ip & 0xff));
- if (i < 3) {
- sb.insert(0, '.');
- }
- // 1. 192.168.1.2
- // 2. 192.168.1
- // 3. 192.168
- // 4. 192
- ip = ip >> 8;
- }
- return sb.toString();
- }
- public static String byteArrayToHex(byte[] AData)
- {
- if ((AData == null) || (AData.length == 0)) {
- return "";
- }
-
- int ALen = AData.length;
- int line = ALen / 16;
- int pos;
-
- StringBuffer sb = new StringBuffer((ALen*3)+line);
- sb.append("\r\n");
- for (int ii = 0; ii < ALen; ii += 16)
- {
- for (int jj = 0; jj < 16; jj++) {
- pos = ii + jj;
- if (pos < ALen) {
- String hexNumber = "0" + Integer.toHexString(0xFF & AData[pos]).toUpperCase();
- sb.append(hexNumber.substring(hexNumber.length() - 2));
- sb.append(" ");
- }
- else {
- break;
- }
- }
- sb.append("\r\n");
- }
- return sb.toString();
- }
- public static int getBitValue(byte b, int pos) {
- int val = (b >> pos) & 0x01;
- //int val = (b >> (7-pos)) & 0x01;
- return val;
- }
-
- public static String bytes2String(byte[] data) {
- StringBuilder sb = new StringBuilder(data.length);
- for (int ii = 0; ii < data.length; ++ ii) {
- if (data[ii] >= 0x21 && data[ii] <= 0x7E) {
- sb.append((char) data[ii]);
- }
- else {
- break; //FOR VDS Protocol
- }
- }
- return sb.toString();
- }
- public static short swapEndian(short x)
- {
- return (short)(x << 8 | x >> 8 & 0xFF);
- }
- public static int swapEndian(int x)
- {
- return swapEndian((short)x) << 16 | swapEndian((short)(x >> 16)) & 0xFFFF;
- }
- // byte[] byteArray = ByteBuffer.allocate(4).putInt(value).array();
- public static byte[] intToByteArray(int value) {
- byte[] byteArray = new byte[4];
- byteArray[0] = (byte)(value >> 24);
- byteArray[1] = (byte)(value >> 16);
- byteArray[2] = (byte)(value >> 8);
- byteArray[3] = (byte)(value);
- return byteArray;
- }
-
- public static int byteArrayToInt(byte bytes[]) {
- return ((((int)bytes[0] & 0xff) << 24) |
- (((int)bytes[1] & 0xff) << 16) |
- (((int)bytes[2] & 0xff) << 8) |
- (((int)bytes[3] & 0xff)));
- }
- public static byte[] floatToByteArray(float value) {
- int floatValue = Float.floatToIntBits(value);
- return intToByteArray(floatValue);
- }
- public static float byteArrayToFloat(byte bytes[]) {
- int value = byteArrayToInt(bytes);
- return Float.intBitsToFloat(value);
- }
- public static long toUnsigned(int value) {
- return ((long)value & 0xFFFFFFFFL);
- }
- }
|