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

 
时间: 2024-10-05 14:22:23

JAVA--读取csv文件并导数的相关文章

java读取csv文件

最近用到读取csv文件,以下是源码,读取csv文件,转化为一个String类型的list对象,其中对中午进行了处理,否则会出现乱码,filepath为csv文件的路径 /** * 读取csv文件 */ public static List<String> readCsv(String filepath){ List<String> list = new ArrayList<String>(); String inString = ""; try{ C

Java读取CSV数据并写入txt文件

读取CSV数据并写入txt文件 package com.vfsd; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import com.csvreader.CsvReader; /****************************************************************************

java 对CSV 文件的读取与生成

CSV文件是以逗号分隔值的文件格式,一般用WORDPAD或记事本(NOTE),EXCEL打开.CSV(逗号分隔值)是一种用来存储数据的纯文本文件,通常都是用于存放电子表格或数据的一种文件格式,对于CSV文件的读取与生成其实很简单,只要读取的时候用(,)进行切割就可以获得相应的列元素,在生成的时候不同的列元素之间加上(,) demo如下: //读取CSV文件 public void readCsvFile(String fileName) throws IOException { Buffered

读取csv文件,写入oracle数据库

/* * @(#)DataParse.java 2014年4月28日 */ package com.yihaodian.sa.doData; import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import java.sql.Connection;import java.

如何用Java解析CSV文件

首先看一下csv文件的规则: csv(Comma Separate Values)文件即逗号分隔符文件,它是一种文本文件,可以直接以文本打开,以逗号分隔.windows默认用excel打开.它的格式包括以下几点(它的格式最好就看excel是如何解析的.): ①每条记录占一行: ②以逗号为分隔符: ③逗号前后的空格会被忽略: ④字段中包含有逗号,该字段必须用双引号括起来: ⑤字段中包含有换行符,该字段必须用双引号括起来: ⑥字段前后包含有空格,该字段必须用双引号括起来: ⑦字段中的双引号用两个双引

使用univocity-parsers创建和读取csv文件

import com.univocity.parsers.csv.CsvFormat;import com.univocity.parsers.csv.CsvParser;import com.univocity.parsers.csv.CsvParserSettings;import com.univocity.parsers.csv.CsvWriter;import com.univocity.parsers.csv.CsvWriterSettings; 创建csv文件: public st

Spring Batch示例: 读取CSV文件并写入MySQL数据库

Spring Batch示例: 读取CSV文件并写入MySQL数据库 GitHub版本: https://github.com/kimmking/SpringBatchReferenceCN/blob/master/01_introduction/Spring_Batch_MySQL.md 原文链接: Reading and writing CVS files with Spring Batch and MySQL 原文作者: Steven Haines - 技术架构师 下载本教程的源代码: S

Spring Batch使用示例: 读取CSV文件并写入MySQL数据库

GitHub版本: https://github.com/kimmking/SpringBatchReferenceCN/blob/master/01_introduction/Spring_Batch_MySQL.md ------------ 编写批处理程序来处理GB级别数据量无疑是种海啸般难以面对的任务,但我们可以用Spring Batch将其拆解为小块小块的(chunk). Spring Batch 是Spring框架的一个模块,专门设计来对各种类型的文件进行批量处理. 本文先讲解一个简

POI以SAX方式解析Excel2007大文件(包含空单元格的处理) Java生成CSV文件实例详解

http://blog.csdn.net/l081307114/article/details/46009015 http://www.cnblogs.com/dreammyle/p/5458280.html . Office2007与Office Open XML 在Office 2007之前,Office一直都是以二进制位的方式存储,但这种格式不易被其它软件拿来使用,在各界的压力下,MicroSoft于2005年发布了基于XML的ooxml开放文档标准.ooxml的xml schema强调减

Java生成CSV文件实例详解

本文实例主要讲述了Java生成CSV文件的方法,具体实现步骤如下: 1.新建CSVUtils.java文件: package com.saicfc.pmpf.internal.manage.utils; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputS