欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java中使用opencsv读写csv文件示例

程序员文章站 2024-03-04 09:50:29
opencsv是一个简单的用于解析csv文件的java类库,它封装了csv格式文件的输出和读入,可以自动处理csv格式中的特殊字符,最重要的是opencsv可以用于商业化(...

opencsv是一个简单的用于解析csv文件的java类库,它封装了csv格式文件的输出和读入,可以自动处理csv格式中的特殊字符,最重要的是opencsv可以用于商业化(commercial-friendly)。具体的使用方法:

读csv文件

1、使用iterator方式读

复制代码 代码如下:

csvreader reader = new csvreader(new filereader("yourfile.csv"));
string [] nextline;
while ((nextline = reader.readnext()) != null) {
    // nextline[] is an array of values from the line
    system.out.println(nextline[0] + nextline[1] + "etc...");
}

2、使用list
复制代码 代码如下:

csvreader reader = new csvreader(new filereader("yourfile.csv"));
list myentries = reader.readall();

写csv文件

1、类似于filereader

复制代码 代码如下:

csvwriter writer = new csvwriter(new filewriter("yourfile.csv"), '\t');
// feed in your array (or convert your data to an array)
string[] entries = "first#second#third".split("#");
writer.writenext(entries);
writer.close();

自定义分隔符

1、自定义分隔符,如使用tab为分隔符

复制代码 代码如下:

csvreader reader = new csvreader(new filereader("yourfile.csv"), '\t');

2、同样可以使用转义符
复制代码 代码如下:

csvreader reader = new csvreader(new filereader("yourfile.csv"), '\t', '\'');

3、从第二(n)行开始解析
复制代码 代码如下:

csvreader reader = new csvreader(new filereader("yourfile.csv"), '\t', '\'', 2);
dump sql tables

java.sql.resultset myresultset = ....
writer.writeall(myresultset, includeheaders);


生成javabeans
复制代码 代码如下:

columnpositionmappingstrategy strat = new columnpositionmappingstrategy();
strat.settype(yourorderbean.class);
string[] columns = new string[] {"name", "ordernumber", "id"}; // the fields to bind do in your javabean
strat.setcolumnmapping(columns);
 
csvtobean csv = new csvtobean();
list list = csv.parse(strat, yourreader);