Java read data using json

package cn.itcast.day04.test;

import java.io.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class ConMysql {

    public static void main(String[] args) {

        String[][] strings = writeToDat("E:\\Java\\basic-code\\day04-code\\src\\cn\\itcast\\day04\\test\\en_ch.js");

//      getConnection("jdbc:mysql://localhost:3306","db1","root","root");
        insertIntoTable("jdbc:mysql://localhost:3306", "db1", "root", "root", "user", strings);
    }


    private static String url_unic = "?useUnicode=true&characterEncoding=utf8";

    //读文件
    public static String[][] writeToDat(String path) {
        File file = new File(path);
        List<String> list = new ArrayList<String>();
        String[][] strings = null;

        try {
            InputStreamReader isr = new InputStreamReader(new FileInputStream(file), "utf8");
            BufferedReader bw = new BufferedReader(isr);
            String line = null;

            while ((line = bw.readLine()) != null) {
                if (!line.equals("")) {
                    list.add(line);
                }
            }
            bw.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        list = list.subList(1, list.size() - 1);

        strings = new String[list.size()][2];
//        System.out.println(list);
        for (int a = 0; a < list.size(); a++) {
            String[] split = list.get(a).split(":");
//            System.out.println(Arrays.toString(split));
            for (int b = 0; b < split.length; b++) {
                Pattern p = Pattern.compile(",|\\s*|\t|\r|\n");
                Matcher m = p.matcher(split[b]);
                split[b] = m.replaceAll("");
                if (a != list.size() - 1) {
                    if (b == split.length - 1) {
                        String substring = split[b].substring(0, split[b].length());
                        strings[a][b] = substring;
                    } else {
                        strings[a][b] = split[b];
                    }
                } else {
                    strings[a][b] = split[b];
                }
            }

        }
//        for (int i = 0; i < list.size(); i++) {
//            String[] st = list.get(i).split("\t");
//
//            for (int j = 0; j < st.length; j++) {
//                Pattern p = Pattern.compile(",|\\s*|\t|\r|\n");
//                Matcher m = p.matcher(st[j]);
//                st[j] = m.replaceAll("");
//                st[j] = st[j].replaceAll(":",",");
//                strings[i][j] = st[j];
//                //System.out.println(strings[i][j]);
//            }
//        }

//[['11','one'],['22','two']]
        System.out.println("load data success!");
        return strings;
    }

    //连接数据库
    public static Connection getConnection(String url, String dataBase, String user, String pwd) {
        Connection conn = null;
        try {
            Class.forName("com.mysql.jdbc.Driver");
            String url_total = url + "/" + dataBase + url_unic;
            //System.out.println(url_total);
            conn = DriverManager.getConnection(url_total, user, pwd);
            System.out.println("connection success!");
        } catch (Exception e) {
            System.out.println("connection fail!");
            e.printStackTrace();
        }
        return conn;
    }

    //关闭数据库连接
    public static void closeCon(Connection con) {
        if (con != null) {
            try {
                con.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    //插入数据
    public static boolean insertIntoTable(String url, String dataBase, String user, String pwd, String table, String[][] str) {
        Connection conn = getConnection(url, dataBase, user, pwd);
        try {
            String sql = "insert into " + table + " (" + "uid,uname"
                    + ")" + " values " + "(?,?)";
            PreparedStatement pstmt = conn.prepareStatement(sql);

            for (int i = 0; i < str.length; i++) {
                pstmt.setInt(1, Integer.parseInt(str[i][0]));
//                System.out.println(str[i][0]);
                for (int j = 1; j < str[i].length; j++) {
                    //System.out.println(str[i][j]);
                    pstmt.setString(j + 1, str[i][j]);
                }
                pstmt.executeUpdate();
            }
            System.out.println("insert data success!");
            closeCon(conn);
            return true;

        } catch (SQLException e) {
            e.printStackTrace();
            System.out.println("insert data fail!");
            closeCon(conn);
            return false;
        }
    }


}

 

Guess you like

Origin www.cnblogs.com/lize520/p/12445621.html