import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.OutputStream; import java.sql.DriverManager; import java.sql
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;public class Test implements Runnable {
String pid = null;
int i = 0; public Test(int ii) {
i = ii;
} public static void main(String args[]) {
ExecutorService pool = Executors.newFixedThreadPool(100);
for (int i = 0; i < 24; i++) {
Test task = new Test(i); pool.execute(task);
try {
Thread.sleep(1000);// 延迟1秒
} catch (InterruptedException e) {
e.printStackTrace();
} }
pool.shutdown();
}
@Override
public void run() { Date date = new Date();
long time = date.getTime(); File filetime = new File("time" + i + ".txt");
BufferedWriter bw = null;
try {
bw = new BufferedWriter(new FileWriter(filetime));
} catch (IOException e3) {
e3.printStackTrace();
} String temp = i + "";
if (i < 10) {
temp = "0" + i;
}
File file = new File(
"D:/2012-10-25-PL-log/log/commitFSRData.log.2012-10-24-" + temp
+ ".log"); java.sql.Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/test", "root", "123456"); // String dropTable = "drop table if exists data";
Statement statement_create = conn.createStatement();
// statement_create.execute(dropTable);
String createTable = "CREATE TABLE if not exists data"
+ "(autoId Integer AUTO_INCREMENT, PE_versionname VARCHAR(132),PE_versioncode varchar(132),os_version VARCHAR(132),device_model varchar(164),"
+ "createtime long,imei varchar(200),channelname varchar(132), pid long,primary key(autoId));";
statement_create.execute(createTable);
} catch (SQLException e2) {
e2.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} String insert = "INSERT INTO data(PE_versionname,PE_versioncode,os_version,device_model,"
+ "createtime,imei,channelname, pid) VALUES(?,?,?,?,?,?,?,?)"; BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader(file));
String tempString = null;
PreparedStatement statement_insert = null; while ((tempString = reader.readLine()) != null) {
if (tempString.startsWith("ctx=") || tempString.startsWith("]")) {
System.out.println("批量提交行:" + tempString); continue;
}
int start = tempString.indexOf("]") + 28;
int end = tempString.indexOf("/", start);
String PE_versionname = tempString.substring(start, end); start = tempString.indexOf("/", start) + 1;
end = tempString.indexOf("(", start);
String PE_versioncode = tempString.substring(start, end); start = tempString.indexOf(";U;", end) + 3;
end = tempString.indexOf(";", start);
String os_version = tempString.substring(start, end); start = tempString.indexOf(";zh-cn;", end) + 7;
end = tempString.indexOf(";", start);
String device_model = tempString.substring(start, end); start = tempString.indexOf("[", end) + 1;
end = tempString.indexOf("!", start);
start = tempString.indexOf("!", end) + 1;
end = tempString.indexOf("!", start);
start = tempString.indexOf("!", end) + 1;
end = tempString.indexOf("!", start);
start = tempString.indexOf("!", end) + 1;
end = tempString.indexOf("!", start);
start = tempString.indexOf("!", end) + 1;
end = tempString.indexOf("!", start);
start = tempString.indexOf("!", end) + 1;
end = tempString.indexOf("!", start);
start = tempString.indexOf("!", end) + 1;
end = tempString.indexOf("!", start);
start = tempString.indexOf("!", end) + 1;
end = tempString.indexOf("!", start);
start = tempString.indexOf("!", end) + 1;
end = tempString.indexOf("!", start);
start = tempString.indexOf("!", end) + 1;
end = tempString.indexOf("!", start);
start = tempString.indexOf("!", end) + 1;
end = tempString.indexOf("!", start);
start = tempString.indexOf("!", end) + 1;
end = tempString.indexOf("!", start); String createtime = tempString.substring(start, end);
if (tempString.contains("imei")) {
start = tempString.indexOf("imei", end) + 5;
} else if (tempString.contains("sn")) {
start = tempString.indexOf("sn", end) + 3;
} else if (tempString.contains("mac")) {
start = tempString.indexOf("mac", end) + 4;
}
end = tempString.indexOf("!", start); String imei = tempString.substring(start, end);
start = tempString.indexOf("!", end) + 1;
end = tempString.indexOf("&", start); String channelname = tempString.substring(start, end);
start = tempString.indexOf("&", end) + 5;
end = tempString.indexOf("_", start); pid = tempString.substring(start, end);
statement_insert = conn.prepareStatement(insert);
statement_insert.setString(1, PE_versionname);
statement_insert.setString(2, PE_versioncode);
statement_insert.setString(3, os_version);
statement_insert.setString(4, device_model);
statement_insert.setLong(5, Long.valueOf(createtime));
statement_insert.setString(6, imei);
statement_insert.setString(7, channelname);
statement_insert.setLong(8, Long.valueOf(pid));
statement_insert.executeUpdate();
statement_insert.close();
} System.out.println("完毕");
} catch (IOException e) {
e.printStackTrace();
System.out.println("filename:" + file.getName());
System.out.println("pid" + pid);
} catch (SQLException e) {
e.printStackTrace();
System.out.println("filename:" + file.getName());
System.out.println("pid" + pid);
} finally { try {
reader.close(); } catch (IOException e1) {
} }
// }
Date date2 = new Date();
try {
bw.write(date2.getTime() - time + "");
bw.newLine();
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(i);
}}