Javacsv实现Java读写csv文件
Javacsv是一个开源的Java库,用于读写CSV(Comma Separated Values)文件。CSV是一种通用的文本文件格式,广泛应用于数据交换和存储。Javacsv提供了一个简单易用的API,允许开发者轻松地读写CSV文件。
一、Javacsv的使用方法
要使用Javacsv,首先需要下载Javacsv的Jar包。可以直接下载Jar包,也可以使用Maven依赖项来下载。使用Maven时,需要在pom.xml文件中添加以下依赖项:
```
<dependency>
<groupId>net.sourceforge.javacsv</groupId>
<artifactId>javacsv</artifactId>
<version>2.0</version>
</dependency>
```
二、CsvWriter的使用
CsvWriter是Javacsv中的一个核心类,用于写CSV文件。下面是一个使用CsvWriter写CSV文件的示例:
```java
public static void writeCSV() {
// 定义一个CSV路径
String csvFilePath = "D://StemQ.csv";
try {
// 创建CSV写对象
CsvWriter csvWriter = new CsvWriter(csvFilePath, ',', Charset.forName("UTF-8"));
// 写表头
String[] csvHeaders = { "编号", "姓名", "年龄" };
csvWriter.writeRecord(csvHeaders);
// 写内容
for (int i = 0; i < 20; i++) {
String[] csvContent = { i + "000000", "StemQ", "1" + i };
csvWriter.writeRecord(csvContent);
}
csvWriter.close();
System.out.println("--------CSV文件已经写入--------");
} catch (IOException e) {
e.printStackTrace();
}
}
```
在上面的示例中,我们首先定义了一个CSV文件的路径,接着创建了一个CsvWriter对象,并将其设置为UTF-8编码。然后,我们写入了表头和内容,并关闭了CsvWriter对象。
三、CsvReader的使用
CsvReader是Javacsv中的另一个核心类,用于读取CSV文件。下面是一个使用CsvReader读取CSV文件的示例:
```java
public static void readCSV() {
try {
// 用来保存数据
ArrayList<String[]> csvFileList = new ArrayList<String[]>();
// 定义一个CSV路径
String csvFilePath = "D://StemQ.csv";
// 创建CSV读对象
CsvReader reader = new CsvReader(csvFilePath, ',', Charset.forName("UTF-8"));
// 跳过表头 如果需要表头的话,这句可以忽略
reader.readHeaders();
// 逐行读入除表头的数据
while (reader.readRecord()) {
System.out.println(reader.getRawRecord());
csvFileList.add(reader.getValues());
}
reader.close();
// 遍历读取的CSV文件
for (int row = 0; row < csvFileList.size(); row++) {
// 取得第row行第0列的数据
String cell = csvFileList.get(row)[0];
System.out.println("------------>" + cell);
}
} catch (IOException e) {
e.printStackTrace();
}
}
```
在上面的示例中,我们首先定义了一个CSV文件的路径,接着创建了一个CsvReader对象,并将其设置为UTF-8编码。然后,我们读取了表头和内容,并将其保存到ArrayList中。我们遍历了读取的CSV文件,并输出了每一行的数据。
四、总结
Javacsv是一个非常有用的Java库,提供了一个简单易用的API来读写CSV文件。通过使用Javacsv,开发者可以轻松地操作CSV文件,从而提高了开发效率和数据交换的速度。