Java中使用opencsv读写csv文件示例
程序员文章站
2024-03-02 19:01:52
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);
完