java使用opencsv注解生成csv文件
时间: 2023-10-02 19:05:14 浏览: 43
要使用 OpenCSV 注解生成 CSV 文件,您需要使用以下步骤:
1. 添加 Maven 依赖项:
```xml
<dependency>
<groupId>com.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>5.5.1</version>
</dependency>
```
2. 创建一个带有注解的 JavaBean 类。例如:
```java
import com.opencsv.bean.CsvBindByName;
public class Person {
@CsvBindByName(column = "Name")
private String name;
@CsvBindByName(column = "Age")
private int age;
@CsvBindByName(column = "Email")
private String email;
public Person(String name, int age, String email) {
this.name = name;
this.age = age;
this.email = email;
}
// Getters and setters
}
```
3. 在主类中,使用 OpenCSV 写入 CSV 文件。例如:
```java
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import com.opencsv.CSVWriter;
import com.opencsv.bean.StatefulBeanToCsv;
import com.opencsv.bean.StatefulBeanToCsvBuilder;
public class Main {
public static void main(String[] args) throws IOException {
List<Person> persons = new ArrayList<>();
persons.add(new Person("Alice", 25, "alice@example.com"));
persons.add(new Person("Bob", 30, "bob@example.com"));
FileWriter writer = new FileWriter("persons.csv");
StatefulBeanToCsv<Person> beanToCsv = new StatefulBeanToCsvBuilder<Person>(writer)
.withQuotechar(CSVWriter.NO_QUOTE_CHARACTER)
.build();
beanToCsv.write(persons);
writer.close();
}
}
```
在这个例子中,我们使用 `StatefulBeanToCsv` 将 person 列表写入 CSV 文件。我们还使用 `withQuotechar(CSVWriter.NO_QUOTE_CHARACTER)` 禁止写入引号,以避免写入 CSV 文件时出现问题。