Java处理csv文件

来源:互联网 发布:金数据 - 登录 编辑:程序博客网 时间:2024/06/08 01:27

使用Javacsv读取csv文件
CsvReader(InputStream inputStream, char delimiter, Charset charset)
创建一个使用输入流对象作为数据源的CsvReader对象
CsvReader(InputStream inputStream, Charset charset)
创建一个使用输入流对象作为数据源的CsvReader对象,使用“,(逗号)“作为列分隔符
CsvReader(Reader inputStream)
创建一个使用阅读器对象作为数据源的CsvReader对象,使用逗号分开
CsvReader(Reader inputStream, char delimiter)
创建一个使用阅读器对象作为数据源的CsvReader对象,
CsvReader(String fileName)
使用文件作为数据源,来创建一个对象,使用逗号作为列分割符,ISO-8859-1为数据集
CsvReader(String fileName, char delimiter)
使用文件作为数据源,来创建一个对象,使用ISO-8859-1为数据集
CsvReader(String fileName, char delimiter, Charset charset)
创建一个对象
javacsv一共提供了7总创建对象以便不时之需,我比较喜欢直接读取文件CsvReader(String)来创建对象,会用就好。
读取文件函数:
void close():关闭问释放资源
String get(int columnIndex) :返回columnIndex的当前列值
String get(String headerName):对于一个给的标题名字,返回当前列值
int getColumnCount():获取改记录所找到的行值
char getComment():获取用作注释的字符
long getCurrentRecord():获取当前记录的索引值。
boolean skipRecord():通过解析每列来跳过下一个数据记录。 不增加getCurrentRecord()。
char getDelimiter():获取用作列分隔符的字符。
int getEscapeMode():获取当前的方式来排除合格数据中文本限定符的出现。
String getHeader(int columnIndex):返回给定列索引的列标题值。
boolean readHeaders():读取数据的第一记录作为列标题
int getHeaderCount():通过先前调用的readHeaders()获取读入的标题数量。
String[] getHeaders():将标题作为字符串数组返回。
int getIndex(String headerName):获取给定列标题名称的相应列索引。
boolean getSaftySwith():在解析设置(如文件编码)最终不符合文件的实际格式的情况下,请注意防止解析器使用大量内存。
char getTextQulifier():获取用作数据中的文本限定符的字符。
boolean getTrimWhitespace():获取是否从非文本限定的列数据去掉了前面和尾部空白字符。
boolean getUseComments():获取是否在解析时查看注释。
boolean getUseTextQualifier():在解析时是否使用文本限定符。
boolean readHeaders():将数据的第一个记录作为列标题读取。
boolean reaRecord():读取其他的记录。
void getComment(char comment):设置一个字符来作为注释符使用。
void setDelimiter(char delimiter):设置一个字符来作为列分隔符使用。
void setEscapeMode(int escapeMode):设置当前在合格数据中避免出现文本限定符的方式。
void setRecordDelimiter(char recodeDelimiter):设置用作记录分隔符的字符。
void setSafetySwith(boolean safetySwitch):在解析设置(如文件编码)最终不符合文件的实际格式的情况下,请注意防止解析器使用大量内存。
void setTextQualifier(char textQulifier):将该字符设置为在数据中用作文本限定符。
void setTrimWhiteespace(boolean trimWhiteescpace)设置是否应从非文本限定列数据去掉前面和后面空格字符。
void setUseComments(boolean useComments):设置是否在解析时查看注释。
void setUseTextQualifier(boolean useTextQualifier):设置是否在解析时使用文本限定符。
boolean skipLine():使用标准行尾字符跳过下一行数据,不执行任何列分隔解析。
其实这么多函数,一般情况下只用到几个就够了
使用javaCsv**写文件**
CsvWriter(OutputStream outputStream, char delimiter, Charset charset)
使用输出流创建一个CsvWriter对象来写入数据。
CsvWriter(String fileName)
使用文件作为数据存放地创建CsvWriter对象。 使用逗号作为列分隔符和ISO-8859-1作为字符集。
CsvWriter(String fileName, char delimiter, Charset charset)
使用文件作为数据存放地创建CsvWriter对象。
CsvWriter(Writer outputStream, char delimiter)
使用Writer创建一个CsvWriter对象来写入数据。
写入文件函数
void close():同之前的函数功能一样。
void endRecord():通过发送记录分隔符来结束当前记录。
void flush():清除当前写入器的所有缓冲区,并将任何缓冲数据写入底层设备。
char getDelimiter():功能仍然同上
boolean getForceQualifier():即使限定词不一定需要避免该字段,字段是否将被文本限定符包围。
char getTextQualifier():获取用作数据中的文本限定符的字符。
boolean getUseTextQualifier():在写数据时是否使用文本限定符。
void setDelimiter(char delimiter):功能同上
void setForceQualifier(boolean forceQualifier):使用它来强制所有字段被文本限定符包围,即使限定符不一定需要转义此字段。
void write(String content):将另一列数据写入此记录。 不保留此数据列中的前面和后面空格。
void write(String content,boolean preserveSpaces):将另一列数据写入此记录。
void writeComment(String conmmentText)
void writeRecord(String [] values):使用传递的值数组写入新记录。
void writeRecord(String [] values,boolean preserveSpaces):使用传递的值数组写入新记录。
void setRecordDelimiter(char recordDelimiter):同上
void setTextQualifier(char textQualifier):同上
void setUseTextQualifier(boolean useTextQualifier):同上
基本上包含了所有的函数,其实,里面只有一部分函数是咱经常使用到的,其他都很少用
给你吗原文地址,原文的教程:http://javacsv.sourceforge.net/
java csv library(javacsv2.1.zip)下载地址:https://sourceforge.net/projects/javacsv/