You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Serge P. Nekoval (JIRA)" <ji...@apache.org> on 2018/07/03 21:22:00 UTC

[jira] [Updated] (CSV-229) Allow byte position tracking in CSVParser

     [ https://issues.apache.org/jira/browse/CSV-229?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Serge P. Nekoval updated CSV-229:
---------------------------------
    Attachment: csv_bytes3.patch

> Allow byte position tracking in CSVParser
> -----------------------------------------
>
>                 Key: CSV-229
>                 URL: https://issues.apache.org/jira/browse/CSV-229
>             Project: Commons CSV
>          Issue Type: New Feature
>          Components: Parser
>            Reporter: Serge P. Nekoval
>            Priority: Major
>         Attachments: csv_bytes3.patch
>
>
> This is a patch which adds significant modifications to the ExtendedBufferedReader.
> The problem is that efficient CSV parsing requires *byte positioning*, not character positioning as currently provided.
> The cases where byte positioning is necessary:
> * Suspend/resume parsing
> * Pagination/split where a large CSV file is read in chunks using file positioning.
> I've found the ExtendedBufferedReader to be unable to manage bytes in its current state (relying on BufferedReader and characters), so instead I had to redesign/merge these two classes.
> This modification is what we use in our system, so I'm hoping to get it released (otherwise we have to deal with custom build of Commons CSV).
> Architecturally the solution might be incomplete, however it provides what I need - getBytePosition() from a CSVParser. The entire chain only works if you provide a Reader AND a charset!



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)