如何将CSV文件解组为java对象

如何将CSV文件解组为java对象,java,csv,jaxb,unmarshalling,Java,Csv,Jaxb,Unmarshalling,我知道从XML到java类的解组,但不确定如何对以下文件执行解组,请帮助我 文件名:file.txt 1690;0001;DESCRIPTION HERE-1000TW-BK 请参见下面的java类 public class TestBean { String siteId; String uniqueId; String description; //getter-setter below } 试图解组但出现异常 try{ JAXBContext jc = JAXBContex

我知道从XML到java类的解组,但不确定如何对以下文件执行解组,请帮助我

文件名:file.txt

1690;0001;DESCRIPTION HERE-1000TW-BK
请参见下面的java类

public class TestBean {

String siteId;
String uniqueId;
String description;

//getter-setter below
}
试图解组但出现异常

try{
    JAXBContext jc = JAXBContext.newInstance(TestBean.class);
    Unmarshaller u = jc.createUnmarshaller();

    File f = new File("C:\\file.txt");
    TestBean test = (TestBean) u.unmarshal(f);

}catch(Exception e){
    e.printStackTrace();
}

JAXB用于将XML数据从Java对象编组/解编组到Java对象

您的file.txt不包含XML数据

如果您有一个自定义格式,您可能需要编写自己的解析器或查找现有的解析器

  • 创建一个
    列表
  • 逐行读取文件
  • 对于每一行
    A.拆分
    “;”
    上的行,以获得
    字符串[]

    B创建
    TestBean
    的实例
    C将实例添加到列表中

  • 刚刚更正,这是一个
    csv
    文件,我必须将其转换为java对象。谢谢Puce。是的,Jaxb只能从xml转换为java。试试ApacheCamel。它包含CSV处理,还支持一些编组/解编组