<dependency>
<groupId>org.beanio</groupId>
<artifactId>beanio</artifactId>
<version>2.1.0</version>
</dependency>
<beanio xmlns="http://www.beanio.org/2012/03"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.beanio.org/2012/03 http://www.beanio.org/2012/03/beanio.xsd">
<stream name="studentStream" format="csv">
<record name="student" class="com.example.Student">
<field name="id" type="integer" position="1"/>
<field name="name" type="string" position="2"/>
<field name="age" type="integer" position="3"/>
</record>
</stream>
</beanio>
public class Student {
private int id;
private String name;
private int age;
// getters and setters
}
import org.beanio.BeanReader;
import org.beanio.BeanWriter;
import org.beanio.StreamFactory;
public class FileParser {
public static void main(String[] args) {
StreamFactory factory = StreamFactory.newInstance();
factory.load("beans.xml");
BeanReader reader = factory.createReader("studentStream", new File("input.csv"));
Student student;
while ((student = (Student)reader.read()) != null) {
System.out.println(student.getId() + ", " + student.getName() + ", " + student.getAge());
}
reader.close();
BeanWriter writer = factory.createWriter("studentStream", new File("output.csv"));
writer.write(new Student(1, "Alice", 20));
writer.write(new Student(2, "Bob", 22));
writer.flush();
writer.close();
}
}