public static void insert(Connection conn,String na,String rgb,String slab,String shex) {
try {
String sql = "insert into tb_test(name,a,b,c,detail)" + "values ( '"+na+ "','" +a+"','" +b+"','" +c+"','" +null+"')";
Statement stmt1 =conn.createStatement(); // 创建用于执行静态sql语句的Statement对象
int count = stmt1.executeUpdate(sql); // 执行插入操作的sql语句,并返回插入数据的个数
conn.close(); //关闭数据库连接
} catch (SQLException e) {
e.printStackTrace();
}
}
//数据库连接
public static Connection getConnection(String user, String pass) {
Connection conn = null;//声明连接对象
String driver = "com.mysql.cj.jdbc.Driver";// 驱动程序类名
String url = "jdbc:mysql://192.168.xxx.xxx:3306/tb_aaa?" // 数据库URL
+ "useUnicode=true&characterEncoding=UTF8";// 防止乱码
try {
Class.forName(driver);// 注册(加载)驱动程序
conn = DriverManager.getConnection(url, user, pass);// 获取数据库连接
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
//释放数据库连接
public static void releaseConnection(Connection conn) {
try {
if (conn != null)
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws Exception {
File file = new File("/Users/aa/Downloads/jsonFiles"); //给定一个目录
File[] list = file.listFiles(); //获取目录下的所有文件
for(int i=0; i<list.length; i++){
if(list[i].isFile()){ //判断是否为文件
InputStreamReader isr = new InputStreamReader(new FileInputStream(list[i]),"UTF-8");//读取文件,同时指定编码
StringBuffer sb = new StringBuffer();
char[] ch = new char[128]; //一次读取128个字符
int len = 0;
while((len = isr.read(ch,0, ch.length)) != -1){
sb.append(ch, 0, len);
}
isr.close();
Object na = null;
Object lab_data_l = null;
Object lab_data_a = null;
Object lab_data_b = null;
try {
JSONObject obj = (JSONObject)JSON.parse(String.valueOf(sb));
if(obj.get("data") !=null){
JSONObject dataObj = (JSONObject)obj.get("data");
na = dataObj.get("name")==null ? "sname":dataObj.get("name");
lab_data_l = dataObj.get("lab_data_l")==null ? "sl":dataObj.get("lab_data_l");
lab_data_a = dataObj.get("lab_data_a")==null ? "sa":dataObj.get("lab_data_a");
lab_data_b = dataObj.get("lab_data_b")==null ? "sb":dataObj.get("lab_data_b");
}else {
System.out.println("插入失败=========> "+list[i].getName()+"=====> "+sb);
continue;
}
} catch (Exception e) {
System.out.println(e);
}
String slab =lab_data_l.toString()+","+lab_data_a.toString()+","+lab_data_b.toString();
int[] sRGB = RGBUtil.Lab2sRGB(Double.parseDouble(lab_data_l.toString()), Double.parseDouble(lab_data_a.toString()), Double.parseDouble(lab_data_b.toString()));
String shex = RGBUtil.rgb2Hex(sRGB[0], sRGB[1], sRGB[2]);
String rgb =sRGB[0]+","+sRGB[1]+","+sRGB[2];
Connection conn = getConnection("username", "password"); // 获取数据库连接
insert(conn,na.toString(),rgb,slab,shex); //方法名调用数据库连接
releaseConnection(conn);// 释放数据库连接
System.out.println(sb);
}
}
System.out.println("list.length"+list.length);
}