栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java(76)Java读取和写入CSV文件工具类(Bean)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java(76)Java读取和写入CSV文件工具类(Bean)

Java读取和写入CSV文件工具类(Bean)

1、工具类CsvUtils.java

package com.ciphergateway.utils;

import com.ciphergateway.csvData;

import java.io.*;

import java.util.ArrayList;

import java.util.Arrays;

import java.util.List;

public class CsvUtils {

    public static BufferedReader reader;

    public static BufferedWriter bw;

    public static int linkNumber;

    public static void closeAll() {

        try {

            if(reader != null)

                reader.close();

            if(bw != null)

                bw.close();

        } catch (Exception e) {

            e.printStackTrace();

        }

    }

    

    public static List> readCSVFileData(String filePath){

        List> dataList=new ArrayList<>();

        try {

            reader = new BufferedReader(new InputStreamReader(new FileInputStream(filePath), "UTF-8"));

        }catch(FileNotFoundException | UnsupportedEncodingException e){

            e.printStackTrace();

        }

        try{

            String line=null;

            while ((line=reader.readLine())!=null){

                String aa[]=line.split(",");

                List cellList= Arrays.asList(aa);

                //System.out.println(cellList);

                dataList.add(cellList);

            }

            closeAll();

        } catch (Exception e) {

            e.printStackTrace();

        }

        return dataList;

    }

    public static List  readData(String filePath){

        List> dataList=readCSVFileData(filePath);

        System.out.println(dataList);

        List csvList=new ArrayList<>();

        for(int i = 0; i

            if(i !=0) {

                csvData data=new csvData();

                data.setId(Integer.parseInt(dataList.get(i).get(0)));

                data.setName(dataList.get(i).get(1));

                data.setAge(Integer.parseInt(dataList.get(i).get(2)));

                csvList.add(data);

            }

        }

        return csvList;

    }

    

    public static void writeCSVFileData(String filePath, csvData data){

        try {

            bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filePath, true), "UTF-8"));

            if(linkNumber==0){

                bw.write("编号"+","+"姓名"+","+"年龄");

                bw.newline();

                ++linkNumber;

            }

            bw.write(data.getId()+","+data.getName()+","+data.getAge());

            bw.newline();

            bw.flush();

            closeAll();

        } catch (Exception e) {

            closeAll();

            e.printStackTrace();

            System.exit(0);

        }

    }

}

2、实体类csvData.java

这里示例有3个字段:id,name,age

package com.ciphergateway;

public class csvData {

    private int id;

    private String name;

    private int age;

    public int getId() {

        return id;

    }

    public void setId(int id) {

        this.id = id;

    }

    public String getName() {

        return name;

    }

    public void setName(String name) {

        this.name = name;

    }

    public int getAge() {

        return age;

    }

    public void setAge(int age) {

        this.age = age;

    }

}

data.csv数据

3、执行类

import java.util.ArrayList;

import java.util.List;

import com.ciphergateway.csvData;

import com.ciphergateway.utils.CsvUtils;

public class ReadFileTest {

    public static void main(String[] args) {

        //读取

        List csvList=CsvUtils.readData("./data.csv");

        for (int i=0;i

            System.out.println(csvList.get(i).getId()+" "+csvList.get(i).getName()+" "+csvList.get(i).getAge());

        }

        //写入

        List csvList2=new ArrayList<>();

        csvData a1=new csvData();

        a1.setId(1);

        a1.setName("张三");

        a1.setAge(25);

        csvList2.add(a1);

        csvData a2=new csvData();

        a2.setId(2);

        a2.setName("李四");

        a2.setAge(30);

        csvList2.add(a2);

        for (csvData data:csvList2) {

            //System.out.println(data.getId()+" "+data.getName()+" "+data.getAge());

            CsvUtils.writeCSVFileData("./result.csv", data);

        }

    }

}

执行结果:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/750713.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号