美文网首页
java实现读取文件内容存储到mysql

java实现读取文件内容存储到mysql

作者: 小吖么小一郎 | 来源:发表于2019-02-22 16:52 被阅读0次
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;


@Service
public class AmcCollectionDetailStatementServiceImpl implements AmcCollectionDetailStatementService {

    public static final String fieldLimitChar = ",";
    public static final int fieldAllCount = 8;
    private int count;
    private final static org.slf4j.Logger logger = LoggerFactory.getLogger(AmcCollectionDetailStatementService.class);
    @Autowired
    private AmcCollectionDetailStatementMapper amcCollectionDetailStatementMapper;

    //项目编码
    private String itemNo;
    //合同号/借款编号
    private String contractNo;
    //本期期数
    private int term;
    //风险保证金/服务费金额
    private Long serviceCharge;
    //收款账户 : AMC支付宝账号
    private String collectionNo;
    //三方支付流水/银行流水
    private String bankNo;
    //风险保证金收款时间
    private String serviceTime;
    //账单日期
    private String billDate;

    @Override
    public void parseRecord(String address) throws Exception {
        String encoding = "UTF-8";
        File file = new File(address);
        if (file.isFile() && file.exists()) { //判断文件是否存在
            InputStreamReader read = new InputStreamReader(new FileInputStream(file), encoding);//考虑到编码格式
            BufferedReader bufferedReader = new BufferedReader(read);
            String lineTxt = null;
            while ((lineTxt = bufferedReader.readLine()) != null) {
                System.out.println(lineTxt);
                //拆分记录
                String[] fields = lineTxt.split(fieldLimitChar);
                if(fields.length<2*fieldAllCount){
                    logger.error("文件内容为空");
                }
                for (int i=1; i<fields.length/fieldAllCount; i++) {
                    if (tranStr(fields[fieldAllCount * i]).length() == 0 || fields[fieldAllCount*i] == null) {
                        return;
                    }
                        itemNo = tranStr(fields[0+(fieldAllCount*i)]);
                        if(i==1){
                            itemNo = itemNo.substring(1, itemNo.length());
                        }
                        contractNo = tranStr(fields[1+(fieldAllCount*i)]);
                        term = Integer.parseInt(tranStr(fields[2+(fieldAllCount*i)]));
                        serviceCharge = Long.valueOf(tranStr(fields[3+(fieldAllCount*i)]));
                        collectionNo = tranStr(fields[4+(fieldAllCount*i)]);
                        bankNo = tranStr(fields[5+(fieldAllCount*i)]);
                        serviceTime = tranStr(fields[6+(fieldAllCount*i)]);
                        billDate = tranStr(fields[7+(fieldAllCount*i)]);
                        System.out.println(itemNo + " " + contractNo + " " + term + " " + serviceCharge + " " + collectionNo + " " + bankNo + " " + serviceTime + " " + billDate);
                        AmcCollectionDetailStatement amcCollectionDetailStatement = new AmcCollectionDetailStatement();
                        amcCollectionDetailStatement.setItemNo(itemNo);
                        amcCollectionDetailStatement.setContractNo(contractNo);
                        amcCollectionDetailStatement.setTerm(term);
                        amcCollectionDetailStatement.setServiceCharge(serviceCharge);
                        amcCollectionDetailStatement.setCollectionNo(collectionNo);
                        amcCollectionDetailStatement.setBankNo(bankNo);
                        amcCollectionDetailStatement.setServiceTime(serviceTime);
                        amcCollectionDetailStatement.setBillDate(billDate);
                        amcCollectionDetailStatementMapper.insert(amcCollectionDetailStatement);
                }
            }
                read.close();
            } else {
                logger.error("系统找不到指定的文件");
            }
    }


    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;
    }
}

相关文章

网友评论

      本文标题:java实现读取文件内容存储到mysql

      本文链接:https://www.haomeiwen.com/subject/szweyqtx.html