javatxtmysql的简单介绍

发布时间:2022-11-22

本文目录一览:

  1. 用java如何将txt文件导入mysql
  2. 用java如何将txt文件导入mysql?
  3. 如何使用Java将把读取的txt文件内容写进MySQL

用java如何将txt文件导入mysql

Java中将txt文件导入到mysql基本的思路就是先使用I/O操作流获取到文件具体信息,然后将信息拼接成mysql插入到数据库中,示例如下:

  1. 先读取txt文件的内容,文件内容可以按照一定的规律进行排列,这样程序读取就方便。
import java.io.IOException;
import java.io.RandomAccessFile;
import java.io.UnsupportedEncodingException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import com.config.Constants;
import com.utils.UUIDUtil;
/**
 * txt文本数据 采集类
 *
 */
public class UserDataGather {
    public static final String TXT_FILE_PATH = "D://testUser.txt";
    public static final String openFileStyle = "r";
    public static final String fieldLimitChar = ".";
    public static final int fieldAllCount = 1;
    public static final String default_password = "PTMD0309";
    public Integer count = 0;
    private String FltNum;
    public String UUID;
    /**
     * 功能:解析文本文件
     */
    public void loadFile() {
        try {
            RandomAccessFile raf = new RandomAccessFile(TXT_FILE_PATH, openFileStyle);
            String line_record = raf.readLine();
            while (line_record != null) {
                // 解析每一条记录
                parseRecord(line_record);
                line_record = raf.readLine();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    /**
     * 功能:具体解析每一条记录,这里可以增加很多对记录的解析判断条件,如是否为字母、
     */
    @SuppressWarnings("static-access")
    private void parseRecord(String line_record) throws Exception {
        // 拆分记录
        // String[] fields = line_record.split(fieldLimitChar);
        // System.out.println(tranStr(line_record)+"Ok");
        String temp = line_record.substring(line_record.indexOf(fieldLimitChar, 0), line_record.indexOf(" ", line_record.indexOf(fieldLimitChar, 0)));
        // if (fields.length == fieldAllCount) {
        //
        FltNum = tranStr(temp).trim().replace(fieldLimitChar,"").replace(" ","");
        // System.out.println(FltNum);
        if(FltNum.length() == 4){
            if(!isNumeric(FltNum)){
                // System.out.println(generateSql(FltNum)[0].toString());
                // System.out.println(generateSql(FltNum)[1].toString());
                count++;
                String[] temp1 = generateSql(FltNum);
                MyFile mf = new MyFile();
                mf.creatTxtFile("insertPinTuUserSql");
                mf.writeTxtFile(temp1[0].toString());
                mf.creatTxtFile("UUID");
                mf.writeTxtFile(temp1[1].toString()+",");
            }
        }else if(FltNum.length() ==2 || FltNum.length() ==3){
            if(!isNumeric(FltNum)){
                if(!isTwoCharacter(FltNum)){
                    // System.out.println(generateSql(FltNum)[0].toString());
                    // System.out.println(generateSql(FltNum)[1].toString());
                    count++;
                    String[] temp2 = generateSql(FltNum);
                    MyFile mf = new MyFile();
                    mf.creatTxtFile("insertPinTuUserSql");
                    mf.writeTxtFile(temp2[0].toString());
                    mf.creatTxtFile("UUID");
                    mf.writeTxtFile(temp2[1].toString()+",");
                }
            }
        }
        // InsertDB db = new InsertDB();
        //
        // db.insertDB(FltNum);
        // }
    }
    @SuppressWarnings("static-access")
    public String[] generateSql(String userName) throws IOException{
        StringBuffer sbf = new StringBuffer();
        String[] str = new String[2];
        String uuid = UUIDUtil.getUUID();
        sbf.append("insert into user values('"+uuid+"','" + userName +"','"+default_password+"',"+Constants.ENABLED+","+Constants.NUllDELETE+","+Constants.AUDITING+",'"+uuid+"@164.com','"+formatDateTime()+"',"+Constants.REGEDIT_USER+");\n");
        sbf.append("insert into users values('"+uuid+"',"+ null+","+Constants.MALE+","+null+","+null+",'60.176.36.250','"+formatDateTime()+"',"+null+","+null+","+null+","+null+","+null+","+null+",0,"+null+","+null+",0,0,0,'"+formatDateTime()+"','1036',0,"+null+","+null+","+null+","+null+","+null+",'11',"+null+","+null+","+null+","+null+","+null+");\n");
        sbf.append("insert into user_user_group values('"+uuid+"','"+ uuid +"','"+Constants.PERSONAL_USER+"');\n");
        UUID = uuid;
        str[0]=sbf.toString();
        str[1]=UUID;
        return str;
    }
    public String formatDateTime(){
        Date date = new Date();
        /**
         * 时间格式化2009-12-31 09:04:31
         */
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println(sdf.format(date));
        return sdf.format(date);
    }
    private String tranStr(String oldstr) {
        String newstr = "";
        try {
            newstr = new String(oldstr.getBytes("ISO-8859-1"), "utf-8");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        return newstr;
    }
    public static boolean isNumeric(String str){
        Pattern pattern = Pattern.compile("[0-9]*");
        return pattern.matcher(str).matches();
    }
    public static boolean isTwoCharacter(String str){
        String regEx="[a-zA-Z0-9]{2,3}";
        Pattern p=Pattern.compile(regEx);
        Matcher m=p.matcher(str);
        return m.find();
    }
}
  1. 连接数据库执行数据导入
import java.sql.DriverManager;
import java.sql.ResultSet;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
/**
 * 插入数据库 生成sql语句
 *
 * created on Mar 8, 2010
 *
 */
public class InsertDB {
    private static final String user = "pintu";
    private static final String pwd = "pintu";
    private static final String url = "jdbc:mysql://192.168.10.6:3306/pintu";
    private static final String driver = "com.mysql.jdbc.Driver";
    public static Connection getCon() {
        Connection con = null;
        try {
            Class.forName(driver).newInstance();
            con = (Connection) DriverManager.getConnection(url, user, pwd);
            if (con != null) {
                System.out.println("你已连接到数据库:" + con.getCatalog());
            }
        } catch (Exception e) {
            System.out.println("连接数据库失败!");
            e.printStackTrace();
        }
        return con;
    }
    public boolean insertDB(String FltNum) {
        Connection con = null;
        Statement stm = null;
        boolean flag = false;
        String sql = "insert into t_FltPsgInfo values('" + FltNum +
        // "','"
        // + FltLine + "','" + FltDate + "','" + PsgName + "','" + PsgType
        // 
        // + "','" + PsgSex + "','" + PsgCab + "','" + PsgSeatNo + "','"
        // 
        // + PsgInfo +
        "')";
        try {
            con = getCon();
            stm = (Statement) con.createStatement();
            int i = stm.executeUpdate(sql);
            if (i > 0) {
                flag = true;
                System.out.println(flag + "插入数据成功!");
            }
        } catch (Exception e) {
            flag = false;
            e.printStackTrace();
        } finally {
            close(null, stm, con);
        }
        return flag;
    }
    // 关闭相关连接
    public void close(ResultSet rs, Statement stm, Connection con) {
        if (rs != null)
            try {
                rs.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        if (stm != null)
            try {
                stm.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        if (con != null)
            try {
                con.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
    }
}

用java如何将txt文件导入mysql?

Java中将txt文件导入到mysql基本的思路,操作流获取到文件具体信息,然后将信息拼接成mysql插入到数据库中。

  1. 先读取txt文件的内容,文件内容可以按照一定的规律进行排列,这样程序读取就方便。
  2. import java.io.IOException
  3. import java.io.RandomAccessFile
  4. import java.io.UnsupportedEncodingException
  5. import java.text.SimpleDateFormat
  6. import java.util.Date
  7. import java.util.regex.Matcher
  8. import java.util.regex.Pattern
  9. import com.config.Constants;
  10. import com.utils.UUIDUtil;
  11. public static final String TXT_FILE_PATH = "D://testUser.txt";
  12. public static final String openFileStyle = "r";

如何使用Java将把读取的txt文件内容写进MySQL

String str="将txt文件内容写到一个字符串中";

然后用

INSERT INTO table VALUES(str);

这样的insert语句插入到数据库中,当然前提条件是数据库中要存在这样的一个数据库表。 对txt文件进行分割,逐个读进数据库,可能比较耗时!