我有一个写CSV文件的方法:
public static <T> void writeToCsvFileWithHeader(
List<T> listOfData, Path absolutePathToFile, Class<T> clazz, char columnSeparator)
throws IOException {
CsvMapper mapper = new CsvMapper();
try (SequenceWriter writer = mapper
.writerWithSchemaFor(clazz)
.with(mapper
.schemaFor(clazz)
.withColumnSeparator(columnSeparator)
.withoutQuoteChar()
.withHeader())
.writeValues(absolutePathToFile.toFile())) {
writer.writeAll(listOfData);
}
}
一切正常,但是应用程序应该产生一个SHA-256的数据被写入文件。所以我应该以某种方式从将要写入CSV文件的数据中获取字节,然后从中产生一个SHA-256。
SHA-256函数对于Java来说不是问题。问题是我不知道,如何将我的数据listOfData转换为字节,然后将它们写入文件并使其SHA-256。
1条答案
按热度按时间qkf9rpyu1#
您已经非常接近解决方案了,考虑到从文档中可以看出
CsvMapper
是一个专用的ObjectMapper
,具有从POJO中生成CsvSchema示例的扩展功能,那么您可以使用ObjectMapper#writeValueAsBytes
方法来获得如下结果: