//肺弊颇老阑 累己窍绰 窃荐
private void makeLogFile(String logMsg) throws Exception {
String date_time, line;
File logFile;
File logDir = null;
date_time = get_date_time("yyyyMMddHH");
//HS_LOG_FILE_PATH = "/usr/local/sls_server/hs_log/ 肺弊颇老捞 积己登绰 困摹
logFile = new File(GlobalConstant.HS_LOG_FILE_PATH + date_time + ".log");
logDir = logFile.getParentFile();
if ((logDir != null) && (!logDir.exists())) {
logDir.mkdirs();
}
//System.out.println("MAKE DIRECTORY");
PrintWriter outFile = new PrintWriter(new BufferedWriter(new OutputStreamWriter(new FileOutputStream(logFile.toString(),true))),true);
date_time = get_date_time("HH:mm");
line = date_time + ":" + logMsg;
outFile.println(line);
outFile.close();
}
//database俊 肺弊扁废阑 insert 矫虐绰 method
private void insertDB() throws Exception {
String sql;
//int dong = Integer.parseInt(apt_dong);
DB = new DB_Layer(GlobalConstant.DB_SERVER,GlobalConstant.DB_PORT,
GlobalConstant.DB_ACCOUNT,GlobalConstant.DB_PASSWORD,GlobalConstant.DB_SID,GlobalConstant.DB_TYPE,GlobalConstant.DB_DRIVER); if (kind == 0 ) {
switch (kind1) {
case 0 : kindStr_db = "emergency(hard key)";
//kindStr_db = new String(("厚惑虐").getBytes("8859_1"), "EUC-KR"); //"厚惑虐";
break;
case 1 : kindStr_db = "gas";
break;
case 2 : kindStr_db = "fire";
break;
case 3 : kindStr_db = "thief";
break;
case 4 : kindStr_db = "moving sense";
break;
case 5 : kindStr_db = "emergency(wireless)";
break;
case 6 : kindStr_db = "all cencel";
break;
}
} else if (kind == 1) {
kindStr_db = "CommonGate open";
}
if (state == 0) {
stateStr_db = "APPEAR";
} else if (state == 1) {
stateStr_db = "CENCEL";
} sql = "insert into sl_hs_log (message_kind, state, apt_dong, apt_hosu, current_time, hs_ip_address) values ( '"+ kindStr_db + "', " +
"'" + stateStr_db + "', '" + apt_dong + "', '" + apt_hosu + "', to_char(sysdate, 'YYYY-MM-DD HH24:MI:SS'), '" + remotehostip + "')"; DB.query(sql);
DB.run_close();
System.out.println("DB Insert OK");
} private String curr_time(String format) throws Exception {
Calendar cal = Calendar.getInstance(TimeZone.getDefault());
String DATE_FORMAT = format;
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(DATE_FORMAT);
sdf.setTimeZone(TimeZone.getDefault()); return sdf.format(cal.getTime());
}
//逞绢柯 官捞飘 蔼阑 10柳荐 屈怕狼 胶飘傅屈栏肺 函券
private String decStrConvert(byte[] record, int start, int end) throws Exception {
String str = "";
String str1 ="";
for (int i = start; i<=end; i++) {
str1 = Integer.toHexString(record[i] & 0xff);
if (str1.length() <2 ) {
str = str + "0" + str1;
} else {
str += str1;
}
}
str = Integer.toString(Integer.parseInt(str,16));
return str;
}
//矫胶袍狼 矫埃阑 掘绢坷绰 窃荐
private String get_date_time(String format) throws Exception{
SimpleDateFormat formatter;
java.util.Date date;
String date_time;
date = new java.util.Date();
formatter = new SimpleDateFormat(format);
date_time = formatter.format(date);
return date_time;
}
//逞绢柯 官捞飘客 农扁啊 嘎绰瘤甫 舅酒焊绰 窃荐
private void dump (byte[] record) throws Exception {
int size = record.length;
for (int a = 0 ; a < size ; a++) {
System.out.print(a +":" + record[a] + " ");
}
System.out.println("\nDUMP_ END");
}
//皋牢窃荐肺 昏力秦档 公规.... 烙狼肺 涝仿茄 抛捞磐甫 馆靛矫 昏力
/*
public static void main(String[] args) throws Exception {
HSLogThread hsthread = new HSLogThread( new Socket(LOG_PORT), "23.30.153.132" );
String line = "";
HSLogThread test = new HSLogThread();
byte[] record = new byte[24];
for (int i = 0 ; i<24; i++) {
if ( i == 10) {
record[i] = 0;
} else if (i == 11) {
record[i] = 3;
} else {
record[i] = 1;
}
}
line = test.parseMessage(record);
test.makeLogFile(line);
test.insertDB();
}*/}
private void makeLogFile(String logMsg) throws Exception {
String date_time, line;
File logFile;
File logDir = null;
date_time = get_date_time("yyyyMMddHH");
//HS_LOG_FILE_PATH = "/usr/local/sls_server/hs_log/ 肺弊颇老捞 积己登绰 困摹
logFile = new File(GlobalConstant.HS_LOG_FILE_PATH + date_time + ".log");
logDir = logFile.getParentFile();
if ((logDir != null) && (!logDir.exists())) {
logDir.mkdirs();
}
//System.out.println("MAKE DIRECTORY");
PrintWriter outFile = new PrintWriter(new BufferedWriter(new OutputStreamWriter(new FileOutputStream(logFile.toString(),true))),true);
date_time = get_date_time("HH:mm");
line = date_time + ":" + logMsg;
outFile.println(line);
outFile.close();
}
//database俊 肺弊扁废阑 insert 矫虐绰 method
private void insertDB() throws Exception {
String sql;
//int dong = Integer.parseInt(apt_dong);
DB = new DB_Layer(GlobalConstant.DB_SERVER,GlobalConstant.DB_PORT,
GlobalConstant.DB_ACCOUNT,GlobalConstant.DB_PASSWORD,GlobalConstant.DB_SID,GlobalConstant.DB_TYPE,GlobalConstant.DB_DRIVER); if (kind == 0 ) {
switch (kind1) {
case 0 : kindStr_db = "emergency(hard key)";
//kindStr_db = new String(("厚惑虐").getBytes("8859_1"), "EUC-KR"); //"厚惑虐";
break;
case 1 : kindStr_db = "gas";
break;
case 2 : kindStr_db = "fire";
break;
case 3 : kindStr_db = "thief";
break;
case 4 : kindStr_db = "moving sense";
break;
case 5 : kindStr_db = "emergency(wireless)";
break;
case 6 : kindStr_db = "all cencel";
break;
}
} else if (kind == 1) {
kindStr_db = "CommonGate open";
}
if (state == 0) {
stateStr_db = "APPEAR";
} else if (state == 1) {
stateStr_db = "CENCEL";
} sql = "insert into sl_hs_log (message_kind, state, apt_dong, apt_hosu, current_time, hs_ip_address) values ( '"+ kindStr_db + "', " +
"'" + stateStr_db + "', '" + apt_dong + "', '" + apt_hosu + "', to_char(sysdate, 'YYYY-MM-DD HH24:MI:SS'), '" + remotehostip + "')"; DB.query(sql);
DB.run_close();
System.out.println("DB Insert OK");
} private String curr_time(String format) throws Exception {
Calendar cal = Calendar.getInstance(TimeZone.getDefault());
String DATE_FORMAT = format;
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(DATE_FORMAT);
sdf.setTimeZone(TimeZone.getDefault()); return sdf.format(cal.getTime());
}
//逞绢柯 官捞飘 蔼阑 10柳荐 屈怕狼 胶飘傅屈栏肺 函券
private String decStrConvert(byte[] record, int start, int end) throws Exception {
String str = "";
String str1 ="";
for (int i = start; i<=end; i++) {
str1 = Integer.toHexString(record[i] & 0xff);
if (str1.length() <2 ) {
str = str + "0" + str1;
} else {
str += str1;
}
}
str = Integer.toString(Integer.parseInt(str,16));
return str;
}
//矫胶袍狼 矫埃阑 掘绢坷绰 窃荐
private String get_date_time(String format) throws Exception{
SimpleDateFormat formatter;
java.util.Date date;
String date_time;
date = new java.util.Date();
formatter = new SimpleDateFormat(format);
date_time = formatter.format(date);
return date_time;
}
//逞绢柯 官捞飘客 农扁啊 嘎绰瘤甫 舅酒焊绰 窃荐
private void dump (byte[] record) throws Exception {
int size = record.length;
for (int a = 0 ; a < size ; a++) {
System.out.print(a +":" + record[a] + " ");
}
System.out.println("\nDUMP_ END");
}
//皋牢窃荐肺 昏力秦档 公规.... 烙狼肺 涝仿茄 抛捞磐甫 馆靛矫 昏力
/*
public static void main(String[] args) throws Exception {
HSLogThread hsthread = new HSLogThread( new Socket(LOG_PORT), "23.30.153.132" );
String line = "";
HSLogThread test = new HSLogThread();
byte[] record = new byte[24];
for (int i = 0 ; i<24; i++) {
if ( i == 10) {
record[i] = 0;
} else if (i == 11) {
record[i] = 3;
} else {
record[i] = 1;
}
}
line = test.parseMessage(record);
test.makeLogFile(line);
test.insertDB();
}*/}
解决方案 »
- 第三种方法为啥会抛异常啊
- ConcurrentHashMap和ConcurrentSkipListMap类如何做线程安全循环
- 求助Java
- JTextField填写内容使用正则表达式匹配出问题了
- java备份mysql
- 怎样使画面上的组件,能看见,但不能响应键盘或鼠标事件
- 一个Java设计模式的问题,高手救我!
- 奇怪的问题
- 如何进入Java的门?
- 潘爱民翻译的Effective Java中文版怎么样?谁看过?
- comm串口问题,javax.comm.PortInUseException: Port currently owned by Unknown Windows Application
- 请问如何利用java生成这样的时间: Tue, 30 Dec 2003 03:08:35 GMT
因为这样一方面太花我的时间了,另一方面,这也不是你学习的一个方法,
我想了一下,就给你作一个稍稍的解释,不知道是不是正确,仅给你参考你这个类,是一个截获通信数据,并把他写成一个日志文件,且插入数据库
这里面有二方面的内容:
1、如何解释通信传输数据,就是那个parseMessage()方法,他把通过getInputStream()方法中socket.getInputStream()获得通信数据,经过一定的转换后,得到具体的可以阅读的文本内容
2、就是如何进行对文件的读写和 插入数据库
makeLogFile(protocol); //这个方法,我根据字面理解是生成log文件,是你自定义的方法
insertDB(); //插入数据库,是你自定义的方法
上面二个方法,是你自定义的方法,你没有给出,我也不好说什么 了
OK
花了我一些时间,不知道这样的解释你是否 满意??
我打开始就不想学Java用Java.
现在谁正面回答我的问题?