「java分批读取csv」java读取csv分批处理

博主:adminadmin 2023-03-22 13:35:09 869

今天给各位分享java分批读取csv的知识,其中也会对java读取csv分批处理进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java读取CSV文件

这是我写的个类 你参考下 其实那个引号是不用管的

public class CsvUtil1 {

private String filename = null;

private BufferedReader bufferedreader = null;

private List list = new ArrayList();

public CsvUtil1() {

}

public CsvUtil1(String filename) throws IOException {

this.filename = filename;

bufferedreader = new BufferedReader(new FileReader(filename));

String stemp;

while ((stemp = bufferedreader.readLine()) != null) {

list.add(stemp);

}

}

public List getList() throws IOException {

return list;

}

public int getRowNum() {

return list.size();

}

public int getColNum() {

if (!list.toString().equals("[]")) {

if (list.get(0).toString().contains(",")) {

return list.get(0).toString().split(",").length;

} else if (list.get(0).toString().trim().length() != 0) {

return 1;

} else {

return 0;

}

} else {

return 0;

}

}

public String getRow(int index) {

if (this.list.size() != 0)

return (String) list.get(index);

else

return null;

}

public String getCol(int index) {

if (this.getColNum() == 0) {

return null;

}

StringBuffer scol = new StringBuffer();

String temp = null;

int colnum = this.getColNum();

if (colnum 1) {

for (Iterator it = list.iterator(); it.hasNext();) {

temp = it.next().toString();

scol = scol.append(temp.split(",")[index] + ",");

}

} else {

for (Iterator it = list.iterator(); it.hasNext();) {

temp = it.next().toString();

scol = scol.append(temp + ",");

}

}

String str = new String(scol.toString());

str = str.substring(0, str.length() - 1);

return str;

}

public String getString(int row, int col) {

String temp = null;

int colnum = this.getColNum();

if (colnum 1) {

temp = list.get(row).toString().split(",")[col];

} else if (colnum == 1) {

temp = list.get(row).toString();

} else {

temp = null;

}

return temp;

}

public void CsvClose() throws IOException {

this.bufferedreader.close();

}

public void test() throws IOException {

CsvUtil1 cu = new CsvUtil1("D:/学习/00dw.csv");

List tt = cu.getList();

for (Iterator itt = tt.iterator(); itt.hasNext();) {

System.out.println(itt.next().toString()+"||");

}

// System.out.println(cu.getRowNum());

// System.out.println(cu.getColNum());

// System.out.println(cu.getRow(0));

// System.out.println(cu.getCol(0));

// System.out.println(cu.getString(0, 0));

cu.CsvClose();

}

public void createCsvTest1(HttpServletResponse Response) throws IOException {

CsvUtil1 cu = new CsvUtil1("D:/学习/00dw.csv");

List tt = cu.getList();

String data = "";

SimpleDateFormat dataFormat = new SimpleDateFormat("yyyyMMddHHmm");

Date today = new Date();

String dateToday = dataFormat.format(today);

File file=new File("D:/学习/001dw.csv");

if(!file.exists())

file.createNewFile();

// else

// file.delete() ;

String str[] ;

StringBuilder sb = new StringBuilder("");

BufferedWriter output=new BufferedWriter(new FileWriter(file,true));

for (Iterator itt = tt.iterator(); itt.hasNext();) {

String fileStr = itt.next().toString() ;

str = fileStr.split(",");

for(int i=0;i=str.length-1;i++){ //拆分成数组 用于插入数据库中

System.out.print("str["+i+"]="+str[i]+" ");

}

System.out.println("");

sb.append(fileStr+"\r\n") ;

}

//System.out.println(sb.toString());

output.write(sb.toString());

output.flush() ;

output.close();

cu.CsvClose();

}

public static void main(String[] args) throws IOException {

CsvUtil1 test = new CsvUtil1();

//test.test();

HttpServletResponse response = null ;

test.createCsvTest1(response);

}

}

写出一个Java程序,读取该CSV文件,并且按照部门字段分组,最后打印出来,打印结果如下:

import java.io.BufferedReader;

import java.io.File;

import java.io.FileReader;

import java.util.ArrayList;

public class Sort {

public static void main(String[] args) throws Exception {

ArrayListString list = new ArrayListString();

File file = new File("data.csv"); //这里填你的csv文件的路径

BufferedReader fr = new BufferedReader(new FileReader(file));

String s = null;

while ((s=fr.readLine())!=null){

list.add(s);

}

fr.close();

list = sort(list);

for (String str : list){

System.out.println(str);

}

}

public static ArrayListString sort(ArrayListString list){

String str1 = null;

String str2 = null;

int flag = 0;

int size = list.size();

for(int i=0; ilist.size()-1; i++){

for (int j=0; jsize-1; j++){

str1 = list.get(j);

str2 = list.get(j+1);

flag = getDept(str1).compareToIgnoreCase(getDept(str2));

if (flag=0){

list.set(j, str2);

list.set(j+1, str1);

}

}

size -= 1;

}

return list;

}

public static String getDept(String str){

String[] array = str.split(",");

return array[3];

}

}

java怎么读取csv每列的数据

读csv跟读txt文件没区别,都是以流的方式读入,取每列数据要把整个文件都读进来,然后取每行的相应列加到List里。

java 读取csv文件里指定行列的值,比如读取第三行第二列的值。

java读取csv文件,按照指定格式:

import java.io.IOException;

import java.nio.charset.Charset;

import java.util.ArrayList;

import com.csvreader.CsvReader;

import com.csvreader.CsvWriter;

/**

* 读取CSV文件

* 所谓"CSV",是Comma Separated Value(逗号分隔值)的英文缩写,通常都是纯文本文件。

* 可以看成数据库程序与电子表格之间一种中间通信文件,数据库可以导出。csv格式,excel也可以导入并打开。csv文件,例子如下

* sj_mino1001.jpg,715282,4FB55FE8,

* sj_mino1002.jpg,471289,93203C5C,

* sj_mino1003.jpg,451929,C4E80467,

*

*/

public class CSVDeal{

public static void main(String[] args) {

try {

String[] stringList;

String csvFilePath = "C:\\Users\\Administrator\\Desktop\\20140227135936.csv";

String sourceFileString= "C:\\Users\\Administrator\\Desktop\\test.csv";

CsvReader reader = new CsvReader(csvFilePath); //默认是逗号分隔符,UTF-8编码

CsvWriter writer = new CsvWriter(sourceFileString);

/*

* readRecord()判断是否还有记录,getValues()读取当前记录,然后指针下移

*/

reader.readRecord();

writer.writeRecord(reader.getValues()); //读取表头

/*

* 逐行读取,以免文件太大

* 处理表头后面的数据,这里是在第12列数据统一加前缀"V"

*/

while(reader.readRecord()){

stringList = reader.getValues();

stringList[11] = 'V' + stringList[11];

writer.writeRecord(stringList);

}

reader.close();

writer.close();

}catch(Exception ex){

System.out.println(ex);

}

}

}

如何用java解析CSV文件

思想:先获取csv文件的路径,通过BufferedReader类去读该路径中的文件,使用readLine方法进行逐行读取。

注意:使用readLine方法后会自动转到下一行。因此在判断是否为空后得先将读取到的内容赋值给一变量,在循环中使用该变量即可。

public static void main(String[] args)

{

    File csv = new File("C:\\Users\\chenxumin\\Desktop\\Result.csv");  // CSV文件路径

    BufferedReader br = null;

    try

    {

        br = new BufferedReader(new FileReader(csv));

    } catch (FileNotFoundException e)

    {

        e.printStackTrace();

    }

    String line = "";

    String everyLine = "";

    try {

            ListString allString = new ArrayList();

            while ((line = br.readLine()) != null)  //读取到的内容给line变量

            {

                everyLine = line;

                System.out.println(everyLine);

                allString.add(everyLine);

            }

            System.out.println("csv表格中所有行数:"+allString.size());

    } catch (IOException e)

    {

        e.printStackTrace();

    }

}

怎样用java实现csv中数据批量导入数据库

要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3

种类型:

1、执行静态SQL语句。通常通过Statement实例实现。

2、执行动态SQL语句。通常通过PreparedStatement实例实现。

3、执行数据库存储过程。通常通过CallableStatement实例实现。

具体的实现方式:

Statement stmt = con.createStatement() ;

PreparedStatement pstmt = con.prepareStatement(sql) ;

CallableStatement cstmt =

con.prepareCall("{CALL demoSp(? , ?)}") ;

java分批读取csv的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java读取csv分批处理、java分批读取csv的信息别忘了在本站进行查找喔。