• JAVA--读取csv文件并导数


    
    
    package com.datahander;
    
    import java.io.File;
    import java.nio.charset.Charset;
    import java.util.ArrayList;
    import java.util.List;
    
    import com.csvreader.CsvReader;
    import com.util.Manager;
    
    public class ReadCsv {
        private static boolean flag = false;;
        /**
         * csv文件导数
         * @param file
         */
        public static void  cvsManager(File file){  
            if(file.exists() || file.length() > 0){
                flag = isPics(file.getName());
                if(!flag){
                    System.out.println("文件格式错误");
                }else{
                    try {
                        List<String[]> csvList = new ArrayList<String[]>(); //用来保存数据  
                        String csvFilePath = file.getPath();  
                        CsvReader reader = null;
                        try{
                            reader = new CsvReader(csvFilePath, ',', Charset.forName("UTF-8"));
                            //reader.readHeaders();          // 跳过表头   如果需要表头的话,不要写这句。
                            int lineSum = 0;
                            int count = 1000;
                            while(reader.readRecord()){    //逐行读入除表头的数据
                                lineSum ++;
                                String s[]=reader.getValues();
                                for(int i=0;i<s.length;i++){
                                    s[i]=s[i].replaceAll("'","");
                                    s[i]=s[i].replaceAll("\\","/");
                                }
                                System.out.println(s);
                                csvList.add(s);  
                                if(lineSum % count == 0){
                                    importDataToMySql(csvList);   //调用导数的方法
                                    System.out.println("已插入1000条");
                                    csvList.clear();
                                }
                            }
                            importDataToMySql(csvList);
                            csvList.clear();
                            System.err.println("插入完成!");
                        }finally{
                            reader.close();          
                        }    
                    }catch(Exception ex){  
                        System.out.println(ex);  
                    }
                }
            }else{
                System.err.println("文件不存在或文件为空!");
            }
        }
        /**
         * 将集合导入到数据库中去
         * @param csvList
         */
        public static void importDataToMySql(List<String[]> csvList){
            String va = "";
            String table="cvsdatas";
            String val="(company_name,cate_name,province,city,area,address,contact_people,contact_phone,telephone,website,email,latitude,longitude,product,description,logo,company_id)";
            for(int row=0;row<csvList.size();row++){  
                va+="('" + csvList.get(row)[0]+"','"+csvList.get(row)[1]+"','"+csvList.get(row)[2]+"','"+csvList.get(row)[3]+"','"+csvList.get(row)[4]+"','"+csvList.get(row)[5]+"','"+csvList.get(row)[6]+"','"+csvList.get(row)[7]+"','"+csvList.get(row)[8]+"','"+csvList.get(row)[9]+"','"+csvList.get(row)[10]+"','"+csvList.get(row)[11]+"','"+csvList.get(row)[12]+"','"+csvList.get(row)[13]+"','"+csvList.get(row)[14]+"','"+csvList.get(row)[15]+"','"+csvList.get(row)[16]+ "'),";
            }
            va=va.substring(0, va.length()-1);
            Manager.insertData(table,va,val);  
        }
        public static boolean isPics(String filename)  
        {  
            boolean flag = false;    
            if(filename.endsWith(".csv"))  
                flag = true;      
            return flag;  
        }
    }
    
    
    
     
  • 相关阅读:
    如何优雅地删除 Linux 中的垃圾文件
    session:
    cookie:
    多对多表结构设计:
    接口测试:
    oracle基本笔记整理
    oracle基本笔记整理
    oracle基本笔记整理
    2016年寒假心得
    2016年寒假心得
  • 原文地址:https://www.cnblogs.com/zqzdong/p/4840828.html
Copyright © 2020-2023  润新知