文本读取和csv文件生成工具类的编写
发布日期:2021-05-07 21:34:20 浏览次数:11 分类:技术文章

本文共 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); }}
上一篇:项目中遇到的几个常见的问题
下一篇:找工作过程中的感受与收获

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2025年03月22日 13时47分35秒