博客
关于我
文本读取和csv文件生成工具类的编写
阅读量:353 次
发布时间:2019-03-04

本文共 3593 字,大约阅读时间需要 11 分钟。

1、文本的读取

/**     * 读取log或者txt信息     *     * @param filePath     * @return     */    private static List
readLog(String filePath) { List
list = new ArrayList
(); try { FileInputStream is = new FileInputStream(filePath); InputStreamReader isr = new InputStreamReader(is); BufferedReader br = new BufferedReader(isr); String line; try { while ((line = br.readLine()) != null) { if (line.equals("")) continue; else list.add(line); } } catch (IOException e) { e.printStackTrace(); System.out.println("读取一行数据时出错"); } } catch (FileNotFoundException e) { e.printStackTrace(); System.out.println("文件读取路径错误FileNotFoundException"); } return list; }

2、csv文件的生成

import java.io.BufferedWriter;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStreamWriter;import java.util.ArrayList;import java.util.List;/** * @author lizhangyu * @version 1.0 * @description * @date 2020/8/19 19:41 */public class CSVUtil {       /**     * CSV文件生成方法     * @param head     * @param dataList     * @param outPutPath     * @param filename     * @return     */    public static File createCSVFile(List head, List
> dataList, String outPutPath, String filename) { File csvFile = null; BufferedWriter csvWtriter = null; try { csvFile = new File(outPutPath + File.separator + filename + ".csv"); System.out.println(File.separator); File parent = csvFile.getParentFile(); if (parent != null && !parent.exists()) { parent.mkdirs(); } csvFile.createNewFile(); csvWtriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream( csvFile))); // 写入文件头部 writeRow(head, csvWtriter); // 写入文件内容 for (List row : dataList) { writeRow(row, csvWtriter); } csvWtriter.flush(); } catch (Exception e) { e.printStackTrace(); } finally { try { csvWtriter.close(); } catch (IOException e) { e.printStackTrace(); } } return csvFile; } /** * 写一行数据方法 * @param row * @param csvWriter * @throws IOException */ private static void writeRow(List row, BufferedWriter csvWriter) throws IOException { // 写入文件头部 for (Object data : row) { StringBuffer sb = new StringBuffer(); String rowStr = sb.append("\"").append(data).append("\",").toString(); csvWriter.write(rowStr); } csvWriter.newLine(); } public static void main(String[] args) { List exportData = new ArrayList(); exportData.add("第一列"); exportData.add("第二列"); exportData.add("第三列"); List
> datalist = new ArrayList
>(); List data=new ArrayList(); data.add("111"); data.add("222"); data.add("333"); List data1=new ArrayList(); data1.add("444"); data1.add("555"); data1.add("666"); datalist.add(data); datalist.add(data1); String path = "d:/export/"; String fileName = "文件导出"; File file = CSVUtil.createCSVFile(exportData, datalist, path, fileName); String fileName2 = file.getName(); System.out.println("文件名称:" + fileName2); }}

转载地址:http://efrr.baihongyu.com/

你可能感兴趣的文章
C语言的数值溢出问题(上)
查看>>
BottomNavigationView控件item多于3个时文字不显示
查看>>
关于RecyclerView嵌套RecyclerView的实现
查看>>
函数指针的典型应用-计算函数的定积分(矩形法思想)
查看>>
8051单片机(STC89C52)八个LED灯闪烁
查看>>
8051单片机(STC89C52)以定时器中断模式实现两倒计时器异步计时
查看>>
8051单片机(STC89C52)实现可修改初值(并可命令启停)的单倒计时器(Version1.1)
查看>>
基于8051实现的双倒计时器(Version1.0)
查看>>
8051单片机(STC89C52)之蜂鸣器发声
查看>>
参数检验之t检验
查看>>
ament: command not found ROS2
查看>>
双变量的t检验
查看>>
用 wxPython 打印你的 App
查看>>
wxPython:引用、展示图片、Stock IDs、操作剪切板、拖拽
查看>>
网页设计所需要的工具,各个岗位的职能,都在这里了
查看>>
android GPS JAVA 获取GPS功能是否禁用
查看>>
vue项目通过vue.config.js配置文件进行proxy反向代理跨域
查看>>
Linux下安装MySql过程
查看>>
原生vue实现VantUI中IndexBar索引导航栏功能
查看>>
解决:android TextView上响应部分文字的事件
查看>>