環境
名称 | バージョン |
---|---|
Spring Boot | 3.1.4 |
opencsv | 5.8 |
問題
SpringBoot環境下でアップロードされたCSVファイル@MultipartFileを、サーバーにファイルを置かずにリストに変換するのに右往左往してしまったので覚え書き。
~条件~
・CSVの文字コードはUTF-16
・区切り文字はタブ文字
・改行文字が入っててもサクッと解決
解決方法
sampleService.java
public List<String[]> csvToList(MultipartFile file) {
// CSVをListに変換
Reader reader = new InputStreamReader(file.getInputStream(), "UTF_16");
CSVParser parser = new CSVParserBuilder().withSeparator('\t').build();
CSVReader csvReader = new CSVReaderBuilder(reader).withCSVParser(parser).build();
List<String[]> taskList = csvReader.readAll();
}
参考