本文共 3811 字,大约阅读时间需要 12 分钟。
1、文本的读取
/** * 读取log或者txt信息 * * @param filePath * @return */ private static List<String> readLog(String filePath) { List<String> list = new ArrayList<String>(); 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<Object> head, List<List<Object>> 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<Object> 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<Object> 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<Object> exportData = new ArrayList<Object>(); exportData.add("第一列"); exportData.add("第二列"); exportData.add("第三列"); List<List<Object>> datalist = new ArrayList<List<Object>>(); List<Object> data=new ArrayList<Object>(); data.add("111"); data.add("222"); data.add("333"); List<Object> data1=new ArrayList<Object>(); 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/