csv文件其实就是格式化的txt文件
来源:互联网 发布:zoom会议软件 编辑:程序博客网 时间:2024/06/05 20:02
csv文件其实就是格式化的txt文件,所以操作和txt文件差不多,直接上代码了:
<dependency><groupId>commons-lang</groupId><artifactId>commons-lang</artifactId><version>2.5</version></dependency> <dependency><groupId>org.ostermiller</groupId><artifactId>utils</artifactId><version>1.07.00</version></dependency>
import java.io.File;import java.io.FileOutputStream;import java.io.FileWriter;import java.io.IOException;import java.util.Date;import org.apache.commons.lang.time.DateFormatUtils;import com.Ostermiller.util.CSVPrint;import com.Ostermiller.util.CSVPrinter;/** * * @author alex.wang * csv文件写入 * */public class CsvFilePrinter{ private CSVPrint csvPrint; /** * * @param fileName 文件路径 * @param append 是否支持追加 * @throws IOException */ public CsvFilePrinter(String fileName,boolean append) throws IOException { File file = new File(fileName); if(!file.exists()){ csvPrint = new CSVPrinter(new FileWriter(fileName,append)); init(); }else{ csvPrint = new CSVPrinter(new FileWriter(fileName,append)); if(!append){ init(); } } } public void init() throws IOException{ write(new String[]{"id","mac","val","date"}); } public void write(String[] values) throws IOException { csvPrint.writeln(values); } public static void main(String[] args) throws Exception { String csvFile = "demo".concat("-").concat(DateFormatUtils.format(new Date(), "yyyyMMdd")).concat(".csv"); CsvFilePrinter print = new CsvFilePrinter(csvFile,false); for(int i=0;i<10;i++){ print.write(new String[]{"50001"+i,"C914"+i,Integer.toString(-80+i),DateFormatUtils.format(new Date(), "yyyy-MM-dd")}); } } }
import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import com.Ostermiller.util.ExcelCSVParser;import com.Ostermiller.util.LabeledCSVParser;/** * * @author alex.wang * csv文件解析器 * */public class CsvFileParser{ private LabeledCSVParser csvParser;//csv解析器,对于第一行的表头信息,自动加载为索引关键字 private int currLineNum = -1;//文件所读到行数 private String[] currLine = null;//用来存放当前行的数据 /* * 构造函数, * Param: in InputStream 要解析的信息流 * throws IOException */ public CsvFileParser(InputStream in) throws IOException { csvParser = new LabeledCSVParser(new ExcelCSVParser(in)); currLineNum = csvParser.getLastLineNumber(); } public CsvFileParser(String fileName) throws IOException { InputStream in = new FileInputStream(fileName); csvParser = new LabeledCSVParser(new ExcelCSVParser(in)); currLineNum = csvParser.getLastLineNumber(); } /* * 检查是否还有数据 * * return ture 还有一行数据,false 没有数据 */ public boolean hasMore() throws IOException { currLine = csvParser.getLine(); currLineNum = csvParser.getLastLineNumber(); if (null == currLine) return false; return true; } /* * 返回当前行数据,关键字所指向的数据 * param:String filedName 该行的表头 * return:String 返回当前行数据,关键字所指向的数据 */ public String getByFieldName(String fieldName) { return csvParser.getValueByLabel(fieldName); } /* * 关闭解析器 * * */ public void close() throws IOException { csvParser.close(); } /* * 读取当前行数据 * * return String[] 读取当前行数据 */ public String[] readLine() throws IOException { currLine = csvParser.getLine(); currLineNum = csvParser.getLastLineNumber(); return currLine; } public int getCurrLineNum(){ return currLineNum; } public static void main(String[] args) throws Exception { //创建解析信息流 InputStream in=new FileInputStream(new File("demo.csv")); //实例解析器CsvFileParser CsvFileParser parser=new CsvFileParser(in); //读取数据 while(parser.hasMore()){ System.out.print(parser.getByFieldName("time")+" ");//time 系表头数据 System.out.print(parser.getByFieldName("total")+" "); } parser.close(); } }
0 0
- csv文件其实就是格式化的txt文件
- csv文件,不是excel格式的,不是excel格式的,不是excel格式的,其实csv就是纯文本格式即txt,可以用txt打开
- 读取.txt .csv文件
- 读取csv.txt文件
- txt,csv文件存储
- 提取txt或csv文件的一列
- csv文件格式化数组
- CSVfileUtil 格式化csv文件
- 读取txt,csv等文件
- python读取txt、csv文件
- java生成csv,txt文件
- Python读取txt、csv文件
- txt文件与csv文件导入oracle
- 批量将txt文件转为csv文件
- python:txt文件转换为csv文件
- 把CSV文件转换成TXT文件
- 使用ArcGIS Online小贴士-Excel CSV TXT文件的使用
- txt文件转换csv格式(自用
- 【剑指Offer学习】【面试题50:树中两个结点的最低公共祖先】
- 学会使用微信公众平台
- Teamcenter PSM(四)
- 常见的端口号
- 高效程序员的7个特征
- csv文件其实就是格式化的txt文件
- linux文件分割
- PL/SQL Developer记住用户名密码
- find square root using "bisection method"
- 来自阿里产品运营妹子一本正经的“胡说八道”
- 【剑指Offer学习】【面试题51:数组中重复的数字】
- 三期_day02_数据库表设计和开发准备工作
- C
- promise usage