Java 使用包含字节数组的OpenCSV序列化对象

Java 使用包含字节数组的OpenCSV序列化对象,java,arrays,opencsv,Java,Arrays,Opencsv,我正在尝试用OpenCSV序列化我的类。我注意到只有第一个值是从字节数组序列化的 public class Message { @CsvBindByName private char sourceId; @CsvBindByName private char destinationId; @CsvBindByName private byte[] payload; public Message(char sourceId, char destinationId) { this.so

我正在尝试用OpenCSV序列化我的类。我注意到只有第一个值是从字节数组序列化的

public class Message {
@CsvBindByName
private char sourceId;

@CsvBindByName
private char destinationId;

@CsvBindByName
private byte[] payload;

public Message(char sourceId, char destinationId) {
    this.sourceId = sourceId;
    this.destinationId = destinationId;
}
// setters and getters are omitted for readability
My main.java如下所示:

public class Main {

public static void main(String[] args) throws IOException, CsvDataTypeMismatchException, CsvRequiredFieldEmptyException {
Message m = new Message('A', 'B');
m.setPayload(new byte[]{0x05, 0x04, 0x03, 0x02, 0x01});

FileWriter writer = new FileWriter("my-csv.csv");

ColumnPositionMappingStrategy<Message> mappingStrategy = new ColumnPositionMappingStrategy<>();
mappingStrategy.setType(Message.class);
mappingStrategy.setColumnMapping(new String[] {"sourceId", "destinationId", "payload"});

StatefulBeanToCsvBuilder<Message> builder = new StatefulBeanToCsvBuilder<>(writer);
StatefulBeanToCsv<Message> beanWriter = builder.withMappingStrategy(mappingStrategy).build();

beanWriter.write(m);
beanWriter.write(m);
beanWriter.write(m);
beanWriter.write(m);

writer.close();
}
如何将整个有效负载序列化为CSV

"A","B","5"
"A","B","5"
"A","B","5"
"A","B","5"