У меня есть CSV-файл, который я должен прочитать, используя apache poi, при чтении файла он должен следовать некоторому шаблону, например, у данных не должно быть 'или' 'или новой строки, подобной этой. После проверки нам нужно вставить проверенный CSV вdb.Код, который я написал для этого, приведен ниже.
@RequestMapping(value = "/insert", method = RequestMethod.POST)
public void uploadData(@RequestParam("file") final MultipartFile DataFile,
@PathVariable("DataType") final String DataType,
final Model model, final HttpServletRequest request,
final HttpServletResponse response) throws Exception {
byte[] bytes = null;
InputStream inputStream = null;
if (DataFile != null && !DataFile.isEmpty()) {
inputStream = DataFile.getInputStream();
LOGGER.info("Making Service call to save imported Enrichment details in DB ");
if (StringUtils.equalsIgnoreCase(DataType, "csvData1")) {
bytes = enrichmentDataFile.getBytes();
inputStream = new ByteArrayInputStream(Pattern.compile("(\\r\"|\\n\"|\\r\"\\n\"|\"|\')+")
.matcher(new String(bytes)).replaceAll("").getBytes(Charset.forName("UTF-8")));
DataService.insertData(inputStream,
DataFile.getOriginalFilename());//reading data using Apache POI and inserting into db
} else if (StringUtils.equalsIgnoreCase(DataType, "csvData2")) {
DataService.insertData(inputStream,
DataFile.getOriginalFilename());//reading data using Apache POI and inserting into db
}
}
}
Я могу вставить csvData2 в БД, но когда я пытаюсь вставить csvData1, он создает пустой файл, и этот файл вставляется в БД.Может кто-нибудь предложить Как я могу проверить входной поток (SCV) без каких-либо 'или "или новых строк, а затем вставить проверенный один в DB