Как прочитать CSV-файл, который не должен содержать "" или "или новую строку, а затем вставить измененный CSV в БД - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть 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

1 Ответ

0 голосов
/ 14 ноября 2018

Ваша мутация InputStream работает отлично. Проблема должна быть в методе DataService.insertData.

...