• java应用:csv文件的读写


    csv数据特点:

    csv是文本格式,一行数据是一条记录,每个单元之间用“,”隔开。csv数据可以用Excel打开。

    读写csv文件的主要程序如下所示:

     1 import java.io.BufferedReader;
     2 import java.io.BufferedWriter;
     3 import java.io.File;
     4 import java.io.FileNotFoundException;
     5 import java.io.FileReader;
     6 import java.io.FileWriter;
     7 import java.io.IOException;
     8 import java.util.ArrayList;
     9 import java.util.List;
    10 
    11 public class Add {
    12 
    13     public static void main(String[] args) {
    14         // TODO Auto-generated method stub
    15         BufferedReader br=null;
    16         BufferedWriter bw = null;
    17         try {
    18             bw=new BufferedWriter(new FileWriter("D:\Documents\adf_all.csv"));
    19         } catch (IOException e) {
    20             // TODO Auto-generated catch block
    21             e.printStackTrace();
    22         }
    23         for(int i=1;i<=8337;i++) {
    24             try {
    25                 br=new BufferedReader(new FileReader(new File("D:\Documents\adf\adf_"+i+".csv")));
    26                 String line;
    27                 List<String> allString=new ArrayList<>();
    28                 try {
    29                     while((line=br.readLine())!=null) {
    30                         if(i==1) {
    31                             bw.write(line);
    32                             bw.newLine();
    33                         }else {
    34                             allString.add(line);
    35                             if(allString.size()>1) {
    36                                 bw.write(line);
    37                                 bw.newLine();
    38                             }
    39                         }                        
    40                     }
    41                 } catch (IOException e) {
    42                     // TODO Auto-generated catch block
    43                     e.printStackTrace();
    44                 }
    45             } catch (FileNotFoundException e) {
    46                 // TODO Auto-generated catch block
    47                 e.printStackTrace();
    48             }
    49         }
    50         try {
    51             br.close();
    52         } catch (IOException e) {
    53             // TODO Auto-generated catch block
    54             e.printStackTrace();
    55         }
    56         try {
    57             bw.close();
    58         } catch (IOException e) {
    59             // TODO Auto-generated catch block
    60             e.printStackTrace();
    61         }
    62         System.out.println("完成");
    63     }
    64 
    65 }

    本文读写采用缓冲流的方式进行读写,缓冲流有降低程序运行时间的特点。

    值得注意的是,一定要在恰当的位置关闭缓冲流,避免造成缓冲区数据为输出,导致数据的缺失的后果。

  • 相关阅读:
    选择排序
    【洛谷8341】[AHOI2022] 回忆(贪心)
    swagger在高版本springboot中的使用
    springboot中关于连接池的几种方式
    MySQL 的 delete、truncate、drop 有什么区别?
    Docker容器命令
    IDEA 神级插件!效率提升 20 倍!
    Bean Searcher——多条件查询神器
    8 种最坑SQL语法,工作中踩过吗?
    消息中间件:rocketmq单机安装部署
  • 原文地址:https://www.cnblogs.com/jpapplication/p/9147122.html
Copyright © 2020-2023  润新知