Commons CSV (Sandbox)框架的读取和写入操作
Commons CSV是一个用于读取和写入CSV文件的Java库。它使用简单易懂的API,提供了许多灵活的选项,使用户能够轻松地处理CSV数据。
要使用Commons CSV框架进行读取操作,首先需要导入相关的库。以下是一个示例代码:
import java.io.FileReader;
import java.io.IOException;
import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVParser;
import org.apache.commons.csv.CSVRecord;
public class CSVDataReader {
public static void main(String[] args) {
try {
CSVParser parser = new CSVParser(new FileReader("data.csv"), CSVFormat.DEFAULT.withHeader());
for (CSVRecord record : parser) {
String name = record.get("Name");
int age = Integer.parseInt(record.get("Age"));
String country = record.get("Country");
System.out.println("Name: " + name + ", Age: " + age + ", Country: " + country);
}
parser.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
在上面的代码中,我们首先创建了一个CSVParser对象,它使用FileReader来读取CSV文件,并通过CSVFormat类的withHeader()方法指定第一行为表头行。然后,我们遍历CSV文件的每一行,并使用record.get()方法获取每个单元格的值。
接下来,让我们看一下如何使用Commons CSV框架进行写入操作。以下是一个示例代码:
import java.io.FileWriter;
import java.io.IOException;
import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVPrinter;
public class CSVDataWriter {
public static void main(String[] args) {
try {
FileWriter writer = new FileWriter("data.csv");
CSVPrinter printer = new CSVPrinter(writer, CSVFormat.DEFAULT.withHeader("Name", "Age", "Country"));
printer.printRecord("John Doe", 25, "USA");
printer.printRecord("Jane Smith", 30, "Canada");
printer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
在上面的代码中,我们首先创建了一个CSVPrinter对象,它使用FileWriter来写入CSV文件,并通过CSVFormat类的withHeader()方法指定表头行的列名。然后,我们使用printer.printRecord()方法将每行数据写入CSV文件中。
使用Commons CSV (Sandbox)框架进行读取和写入操作非常简单,同时提供了许多灵活的选项,使开发人员能够轻松地处理CSV数据。无论是处理大量数据还是处理简单的表格数据,Commons CSV都是一个强大的选择。