java 对CSV 文件的读取与生成

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

demo如下:

   //读取CSV文件
    public void readCsvFile(String fileName) throws IOException {
        BufferedReader  bufferedReader=null;
        try{
           bufferedReader=new BufferedReader(new FileReader(fileName));
           String line=null;
           while(null!=(line=bufferedReader.readLine())){
               String[] lines = line.split(",");
               logger.info("这就是文件的内容"+ Arrays.toString(lines));
           }
        }catch (IOException e){
           throw  new IOException(e);
        }finally {
           if(bufferedReader!=null){
               try {
                   bufferedReader.close();
               } catch (IOException e) {
                   logger.error("输入流关流出现异常",e);
               }
           }
        }
    }

  

    //生产CSV文件
    public static void writerCsvFile(String fileName, List<String[]> list) throws IOException {
        BufferedWriter   bufferedWriter=null;
        try{
            bufferedWriter= new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileName),"GBK"));
            for (String[] s:list) {
                for (int i=0;i<s.length;i++){
                    bufferedWriter.write(s[i]);
                    bufferedWriter.write(",");
                }
                bufferedWriter.newLine();//记得换行
            }
        }catch (IOException e){
            throw  new IOException(e);
        }finally {
            if(bufferedWriter!=null){
                try {
                    bufferedWriter.close();
                } catch (IOException e2) {
                    logger.error("输出流关流出现异常",e2);
                }
            }
        }
    }

  值得注意的是:在进行生成CSV文件的时候,对于长的数字组成的字符串的写入,CSV会自动进行数字化转换,即科学计数法,对于要不要处理,还是根据需求来定

   如果是想直观的双击打开就不要进行转换的话,就要在写入的时候,告诉CSV,我不是写的数字,可以进行再写的时候拼接\t,;等信息

   如果生成的CSV文件,也是使用的输入流进行读取的话,不用做处理,会自动进行识别,因为这个是CSV文件的格式

原文地址:https://www.cnblogs.com/gdhzdbh/p/10682412.html

时间: 2024-08-11 08:52:08

java 对CSV 文件的读取与生成的相关文章

java读写CSV文件

java读写CSV文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 读取csv文件中数据 将数据保存为csv文件格式 读取CSV文件中的数据 import java.io.*; import java.util.ArrayList; import java.util.StringTokenizer; public class readCSV { void readCSV(String readpath, ArrayList Nolist, ArrayList Dnalist

如何用Java解析CSV文件

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

Java数据存入文件和读取文件

在Java程序开发过程中我们发现并不能够让程序多次运行时获得上一次关闭程序前的运行结果--我们没有将运行的结果加以保存.这个时候我们就要找到Java操作读取数据的方法(以操作文件为例):Java中的输入/输出模型,I/O模型又称为I/O流.(以下简称I/O流). 流按方向可以分为输入(input)和输出(output)2种.输入和输出是相对的,这里我们是站在程序的角度来看的,将程序的数据写到文件就是输出,从文件中读取数据就是输入. 按类型(大小)可以分为字节型(byte)和字符型(byte)2种

python3 简单实现从csv文件中读取内容,并对内容进行分类统计

新手python刚刚上路,在实际工作中遇到如题所示的问题,尝试使用python3简单实现如下,欢迎高手前来优化 import csv #打开文件,用with打开可以不用去特意关闭file了,python3不支持file()打开文件,只能用open() with open("dk0519_1.csv","r",encoding="utf-8") as csv_file: #读取csv文件,返回的是迭代类型 read = csv.reader(csv

cocos2d-x 读取CSV文件,读取本地Excel配置表的方法

//CSVReader.h #define MAP_LINE std::map<std::string, std::string> //key为首行字符串, value为此列字符串 #define MAP_CONTENT std::map<int, MAP_LINE> //key为code, value为一行map #define VEC_MAP std::vector<std::pair<std::string, int>> //csv文件读取器 clas

java如何在文件中读取一个字符串并创建以这个字符为名字的类的对象

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">我们一般用properties或者XML文件作为资源存储的文件,现在主要介绍一下对properties的操作</span> 1.我们在src文件下新建一个名称为config的包 2.在config下新建一个file,把它命名为demo.properties 3. 把下面的几段

php对csv文件的读取,写入,输出下载操作

在实际工作中,很多时候需要把网站上的一些数据下载到CSV文件里,方便以后查看. 亦或者是用CSV进行一些批量的上传工作. 这个时候我们就需要对CSV进行读写操作. 1.CSV的读取操作 [php] view plaincopy <?php $file = fopen('D:/file/file.csv','r'); while ($data = fgetcsv($file)) {    //每次读取CSV里面的一行内容 print_r($data); //此为一个数组,要获得每一个数据,访问数组

用Java对CSV文件进行读写操作

需要jar包:javacsv-2.0.jar 读操作 // 读取csv文件的内容 public static ArrayList<String> readCsv(String filepath) { File csv = new File(filepath); // CSV文件路径 csv.setReadable(true);//设置可读 csv.setWritable(true);//设置可写 BufferedReader br = null; try { br = new Buffered

JAVA远程下载文件并读取实例方法

简单的文件下载后读取显示,该方法可返回内容的结果集.一般适用于文本文档的下载,以供学习交流. ** * 远程下载文件并读取返回p * @param filePath 文件网络地址 如http://www.baidu.com/1.txt * @return String */ public String DownAndReadFile(String filePath){ String date = new SimpleDateFormat("yyyy-MM-dd").format(new